<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2037956888833505452</id><updated>2024-09-01T07:42:39.391-04:00</updated><category term="ESB"/><category term="Ontology"/><category term="SAWSDL"/><category term="Semantic"/><category term="JAX-WS"/><category term="JBI"/><category term="SOAP"/><category term="Cross Domain Security"/><category term="JBoss"/><category term="JavaOne"/><category term="REST"/><category term="Reference Architecture"/><category term="SCA"/><category term="WOA"/><title type='text'>The Middle Man</title><subtitle type='html'>SOA, Semantic, Data Federation, and the Changing Face of Integration</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-5778309216592898958</id><published>2013-08-16T20:51:00.000-04:00</published><updated>2013-08-16T20:51:39.219-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cross Domain Security"/><category scheme="http://www.blogger.com/atom/ns#" term="Reference Architecture"/><title type='text'>The Need for a Cross Domain Communication Reference Architecture</title><content type='html'>&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=2037956888833505452&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=2037956888833505452&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=2037956888833505452&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=2037956888833505452&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Secure &lt;/span&gt;&lt;i style=&quot;font-family: Arial;&quot;&gt;Cross
Domain Communication&lt;/i&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt; (CDC) has been a critical concern in the recent past
particularly for the US Intelligence Community. Secure protocols for CDC has drawn
significant thrust from the intelligence community, industry, and academia
alike. Yet, coordination of activities between different (security) domains
remains a crucial challenge. Cross-domain data flows often require extensive
human reviews that are both time-consuming and error-prone. A partial survey of
current cross-domain security solutions revealed, among others, the following
issues:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;From the
perspective of mission applications design, current CDC solutions require
mission application programs to design and implement their own individual
solutions around particular guard designs, resulting in vendor lock-ins.
Developers have to learn guard interfaces, design architectures for interacting
with them, incorporate CDC concepts into their specific applications, and
manage accreditation for the resulting systems&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;From the
perspective of enterprise security infrastructure, guard products are typically
transport oriented. This would require the guard to have the highest security
privilege in order to be able inspect inform passing through it, contrary to
best security practices. Furthermore, this implies same security terminology is
required for both domains connected by the guard. For example, the same set of
security labels have to be used. Such an assumption is not always true,
especially when the information exchange across organizational boundaries. Last
but not least, associating the guards with the links often fails to scale as
the number of security domains increase, such as in the interagency cases,
commonly known as the “n squared problem”.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;CDC guards often
have limited configurability and API. The result will be a proliferation of
locked-in stacks that will reduce purchasing flexibility and increase program
development expense.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;In addition, current CDC solutions require excessive
amount of human intervention, mainly due to the lack of a standard and flexible
framework for describing information. Many guards use dirty word list or some
rudimentary rules expressed in XSLT to filter information passing through them.
These techniques often fail to take into account the context of messages and meaning
of the words, leading to false positives or negatives. Human review is often
required to adjudicate ambiguities, leading to critical delays in the workflow.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;Most of the CDC solutions today focus on one or more
particular aspects of cross-domain communications, for example, filtering
information in web (HTTP) traffic.&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;To
understand the multi-faceted nature of cross domain communication, we need to a
conceptual framework in which interactions among CDC participants can be
abstracted out, forming the basis for protocols.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl7eIkz_qJKVA0KWL2a_JjjKVONvVy8ziLL4kGCJ1GBWuuyA_oOb9jbpz2AdQq8H_xQ_QOlLPp2BBf-Now4dkeD-xiBbaw17CaSinD1z3iZXBU-tqw6cbUX8rWYdLXwFRnWvZIeNLKy4Tw/s1600/image001.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;119&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl7eIkz_qJKVA0KWL2a_JjjKVONvVy8ziLL4kGCJ1GBWuuyA_oOb9jbpz2AdQq8H_xQ_QOlLPp2BBf-Now4dkeD-xiBbaw17CaSinD1z3iZXBU-tqw6cbUX8rWYdLXwFRnWvZIeNLKy4Tw/s320/image001.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;page-break-after: avoid; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;To highlight the issues that the reference architecture
needs to address, let us consider the simple use case shown above. In this
example,&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNoSpacing&quot; style=&quot;margin-left: .5in; mso-list: l7 level1 lfo2; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=2037956888833505452&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;A user submits a classified travel request through a &lt;/span&gt;&lt;i style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;Mission Planning System&lt;/i&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt; (MPS).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;The MPS then sends a web service request to a &lt;i&gt;Financial Management System&lt;/i&gt; (FMS), which
is part of an unclassified network/domain.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;When the classified travel request passes through the
guard, all classified information (itinerary) in the request needs to be
redacted, allowing the rest of the message to pass as is.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;The FMS sends an email via SMTP to the mail server
for the approver’s review. Since the mail server is on the classified network/domain,
the guard needs to restore the redacted content for the approver to see the
request in its entirety.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;The approver accesses the mail server from his/her
classified workstation.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;!--[if !supportLists]--&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;In reality, the workflow is likely to be more
complex. But, the simplified example above is sufficient and suitable for our
discussions. Consider the following questions raised by this use case.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l5 level1 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;i style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;How is the
guard included in the workflow?&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l5 level2 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial; mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;a.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;If the guard is transparent to the mission
application, then does the application need to be notified in case the guard
blocks the message? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l5 level2 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial; mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;b.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;If, on the other hand, the guard is an active
participant in the workflow, would the guard “proxy” the target system by
exposing the same web service interface? In other words, should the mission
application address the request to the guard, instead of the financial
management system? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l5 level2 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial; mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;c.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;In (b), can the guard hide the identity of the
source/target systems for security reasons – For instance, can the guard
certify to the mission that the message is delivered to the proper target
system, without revealing the identity of the system? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l5 level2 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial; mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;d.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Can the guard act as the information brokers across
domain as well? For instance, can the guard locate the appropriate recipient in
the correct domain for a particular message?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l5 level1 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=2037956888833505452&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=2037956888833505452&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;
&lt;li&gt;&lt;i style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;How does the
guard determine which content to redact and which to allow without redaction?&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l5 level2 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial; mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;a.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Is there a standard vocabulary that the guards and
mission application share to describe the information, the actors, the security
labels, and the security actions? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;i style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Is a single
guard or multiple guards monitoring both Web Service and SMTP traffic on the
network/domain?&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l5 level2 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial; mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;a.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Or should the guard just monitor TCP/IP packets
without knowledge of application level protocols? &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 1.0in; mso-add-space: auto; mso-list: l5 level2 lfo8; text-align: justify; text-indent: -.25in; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: Arial; mso-fareast-font-family: Arial;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;b.&lt;span style=&quot;font: 7.0pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;If there are two
different guards, how do they coordinate with each other? In the above example,
how would a &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;Web Service guard&lt;/i&gt; and an &lt;i style=&quot;mso-bidi-font-style: normal;&quot;&gt;email guard&lt;/i&gt; coordinate to restore the
redacted information for the approver?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;A reference architecture will not provide standard
answers to these questions. Rather, it will delineate responsibilities among
various CDC participants, and describe how they interact with one another. As
such, it will allow design choices like these to be made by the designers
and/or architects of – infrastructure, mission application(s), guard products, etc.,
based on their unique business needs. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;span style=&quot;font-family: Arial;&quot;&gt;CDC is a shared responsibility between the CDC
infrastructure and the mission application taking advantage of such an
infrastructure. For the purpose of protocol design, we are primarily concerned
with the infrastructure aspects of CDC. That is, standardized interfaces for
products (hardware or software) whose primary responsibility is to facilitate
secure cross-domain communications. A security guard is one such product, and
perhaps the most important.&lt;/span&gt;&lt;span style=&quot;font-family: Arial; text-align: center;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnO69-UG5kXl7ZLaRwNud0U1loStL4p7hvHtt1DWdsHufscObM5OcNovXgWpH9wXWLw0d9Pa0Il1EYk7OtPHS1X3sPSBKJwh0qHwO1Ccx9HQCuAl5gT5ltkOP59tCuBWazlNuV1VAOUhQ/s1600/image003.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEnO69-UG5kXl7ZLaRwNud0U1loStL4p7hvHtt1DWdsHufscObM5OcNovXgWpH9wXWLw0d9Pa0Il1EYk7OtPHS1X3sPSBKJwh0qHwO1Ccx9HQCuAl5gT5ltkOP59tCuBWazlNuV1VAOUhQ/s320/image003.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;!--[if gte vml 1]&gt;&lt;v:shape
 id=&quot;Picture_x0020_5&quot; o:spid=&quot;_x0000_s1026&quot; type=&quot;#_x0000_t75&quot; style=&#39;position:absolute;
 left:0;text-align:left;margin-left:189pt;margin-top:0;width:248.45pt;height:176.15pt;
 z-index:251658240;visibility:visible;mso-wrap-style:square;
 mso-width-percent:0;mso-height-percent:0;mso-wrap-distance-left:9pt;
 mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;
 mso-wrap-distance-bottom:0;mso-position-horizontal:absolute;
 mso-position-horizontal-relative:text;mso-position-vertical:absolute;
 mso-position-vertical-relative:text;mso-width-percent:0;mso-height-percent:0;
 mso-width-relative:page;mso-height-relative:page&#39;&gt;
 &lt;v:imagedata src=&quot;file://localhost/Users/wenzhu/Library/Caches/TemporaryItems/msoclip/0/clip_image003.png&quot;
  o:title=&quot;&quot;/&gt;
 &lt;w:wrap type=&quot;square&quot;/&gt;
&lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;As shown in the diagram, the reference architecture
needs to address the following concerns-&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Architecture
Concerns&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;: We believe it is
reasonable to assume that mission applications are aware of the fact that they
interact with system in other security domains, and therefore, the presence of
security guards. It is the application’s responsibility to properly handle the
cases where a message is rejected by the guard for security reasons.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Policy
Concerns&lt;/span&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;: Security
attributes for application-specific messages need to be defined so that proper
security policies can be enforced by the infrastructure. We consider this an
application concern in the sense that the security attributes are associated
with individual data elements processed by the application, even though it is
likely that a security administrator attaches these security attributes at
runtime.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Network Concerns:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt; Specifically, the reference architecture needs to
address the concerns of how the guard(s) interacts with the network. Any
protocol needs to address how CDC-specific communications (messages between the
application and the guard as well as messages between the guards) are carried
in the network protocols. For example, how such messages are carried in a SOAP
message for web services-based communications or in the HTTP header for web
traffic. Doing so could require extensions to existing protocols so that
security-specific information could be added to the messages.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;A particular aspect of
integrating guard with network protocol is a mechanism to handle &lt;/span&gt;&lt;i style=&quot;font-family: Arial;&quot;&gt;end-to-end encryption and authentication.&lt;/i&gt;&lt;u style=&quot;font-family: Arial;&quot;&gt;
&lt;/u&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;For example, if a mission application encrypts payload using WS-Security,
the guard would not be able inspect the message content unless the message is
addressed to the guard (instead of the target system) and encrypted using the
guard’s keys.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Information Concerns&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;u style=&quot;text-indent: -0.25in;&quot;&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;:&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt; Specifically,
how guards interact with information floating through them. We believe there
need to be a convention for determining how application-specific messages are
interpreted and acted upon by the guards, while the goal of enabling: 1)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;Automation, so
that time-consuming and error-prone human reviews can be reduced and, in some
cases, eliminated; 2)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;Interoperability,
so that CDC solutions from multiple vendors can work together seamlessly, and
vendor lock-ins is avoided.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b style=&quot;text-indent: -0.25in;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Workflow Concerns&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;font-family: Arial; text-indent: -0.25in;&quot;&gt;: Specifically, how guards interact with other
participants of the workflow, i.e. mission application and other guards.
Compared to the others, there has not been extensive research on this aspect of
CDC. Much less discussion about how existing standards such as Business Process
Modeling Notation (BPMN) languages can be leveraged for CDC. One important
workflow consideration is whether or not the guard is an active participant in
the workflow, and if so, how does the guard act as a service intermediary.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/5778309216592898958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/5778309216592898958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/5778309216592898958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/5778309216592898958'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2013/08/the-need-for-cross-domain-communication.html' title='The Need for a Cross Domain Communication Reference Architecture'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgl7eIkz_qJKVA0KWL2a_JjjKVONvVy8ziLL4kGCJ1GBWuuyA_oOb9jbpz2AdQq8H_xQ_QOlLPp2BBf-Now4dkeD-xiBbaw17CaSinD1z3iZXBU-tqw6cbUX8rWYdLXwFRnWvZIeNLKy4Tw/s72-c/image001.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-3120209589976736750</id><published>2011-12-01T15:20:00.001-05:00</published><updated>2013-08-16T19:54:07.921-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESB"/><category scheme="http://www.blogger.com/atom/ns#" term="Ontology"/><category scheme="http://www.blogger.com/atom/ns#" term="SAWSDL"/><category scheme="http://www.blogger.com/atom/ns#" term="Semantic"/><title type='text'>Our presentation at 10th International Semantic Web Conference (ISWC)</title><content type='html'>&lt;a href=&quot;http://iswc2011.semanticweb.org/fileadmin/iswc/Papers/Industry/Extending_SOA_infrastructure_Alion.pptx&quot;&gt;http://iswc2011.semanticweb.org/fileadmin/iswc/Papers/Industry/Extending_SOA_infrastructure_Alion.pptx&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/3120209589976736750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/3120209589976736750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/3120209589976736750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/3120209589976736750'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2011/12/our-presentation-at-10th-international.html' title='Our presentation at 10th International Semantic Web Conference (ISWC)'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-2158590387536447588</id><published>2011-07-22T14:51:00.002-04:00</published><updated>2013-08-16T19:53:31.050-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESB"/><category scheme="http://www.blogger.com/atom/ns#" term="Ontology"/><category scheme="http://www.blogger.com/atom/ns#" term="SAWSDL"/><category scheme="http://www.blogger.com/atom/ns#" term="Semantic"/><title type='text'>Extending SOA Infrastructure for Semantic Interoperability</title><content type='html'>&lt;a href=&quot;http://afei.kzoplatform.com/swf/player/822&quot; target=&quot;talk&quot;&gt;Our talk at the DoD SOA Symposium&lt;/a&gt;&amp;nbsp;is now available. In this talk, we presented an ontology-based run-time infrastructure to enable semantic service interoperability, as an extension to traditional SOA infrastructures which generally include Service Registries and Enterprise Service Buses (ESB)</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/2158590387536447588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/2158590387536447588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/2158590387536447588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/2158590387536447588'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2011/07/extending-soa-infrastructure-for.html' title='Extending SOA Infrastructure for Semantic Interoperability'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-6531527925611720203</id><published>2011-07-01T01:15:00.001-04:00</published><updated>2013-08-16T19:53:06.987-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESB"/><category scheme="http://www.blogger.com/atom/ns#" term="Ontology"/><category scheme="http://www.blogger.com/atom/ns#" term="SAWSDL"/><category scheme="http://www.blogger.com/atom/ns#" term="Semantic"/><title type='text'>The Concept of a Semantic Mediation Bus™</title><content type='html'>When it comes to implementing services, ontologies are still very much viewed as a tool to help developer to write code, instead of as part of a runtime solution. &lt;br /&gt;
&lt;br /&gt;
We will present a different approach at the &lt;a href=&quot;http://www.soasymposium.com/&quot;&gt;3rd DoD SOA and Semantic Technology Symposium&lt;/a&gt; next month. A semantic mediation bus&lt;span class=&quot;Apple-style-span&quot; style=&quot;-webkit-text-size-adjust: none; font-family: Arial, Helvetica, &#39;Nimbus Sans L&#39;, sans-serif; font-size: 13px; line-height: 15px;&quot;&gt;™&lt;/span&gt;&amp;nbsp;(SMB) enables semantic interoperability through common ontologies, even when the services are implemented using different data models and message standards. The SMB is built on top of an Enterprise Service Bus (ESB), extending SOA infrastructure beyond their traditional role of protocol adoption and message transformation.  This solution leverages open standards including &lt;a href=&quot;http://www.w3.org/2004/OWL/&quot;&gt;Web Ontology Language (OWL)&lt;/a&gt; and &lt;a href=&quot;http://www.w3.org/TR/sawsdl/&quot;&gt;Semantic Annotations for WSDL and XML Schema (SAWSDL)&lt;/a&gt;. SAWSDL plays a critical in our solution because it provides the link between service descriptions and the common ontology, thus allowing the mediation infrastructure to determine the compatibility between two service interfaces.&lt;br /&gt;
&lt;br /&gt;
Corporation through federation, instead of standardization is the principle behind using ontology as the tool to describe message meaning. The ontology driven approach avoids imposing a standard that has to be agreed by everybody, which is especially important when information needs to be shared across organizational boundaries. By allowing each organization to select the standards best suited for their business needs, while still able to use services offered by the larger community.</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/6531527925611720203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/6531527925611720203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/6531527925611720203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/6531527925611720203'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2011/07/concept-of-semantic-mediation-bus.html' title='The Concept of a Semantic Mediation Bus™'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-4202108716231238139</id><published>2009-10-28T15:58:00.000-04:00</published><updated>2009-10-28T16:13:18.077-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESB"/><category scheme="http://www.blogger.com/atom/ns#" term="JBI"/><title type='text'>A Recent Paper</title><content type='html'>We have recently published a paper titled &quot;Refactoring J2EE Application for JBI-Based ESB: A Case Study&quot;. It was presented at EDOC 2009 conference:&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot; http://www.computer.org/portal/web/csdl/doi/10.1109/EDOC.2009.25&quot;&gt;http://www.computer.org/portal/web/csdl/doi/10.1109/EDOC.2009.25&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/4202108716231238139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/4202108716231238139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/4202108716231238139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/4202108716231238139'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2009/10/recent-paper.html' title='A Recent Paper'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-288901856678473881</id><published>2009-06-15T16:39:00.000-04:00</published><updated>2009-06-15T16:41:01.955-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESB"/><category scheme="http://www.blogger.com/atom/ns#" term="JavaOne"/><category scheme="http://www.blogger.com/atom/ns#" term="JAX-WS"/><title type='text'>Integration of Web Service Stacks in an ESB</title><content type='html'>&lt;div style=&quot;width:425px;text-align:left&quot; id=&quot;__ss_1587717&quot;&gt;&lt;a style=&quot;font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/bfmj4fj/integration-of-web-service-stacks-in-an-esb?type=powerpoint&quot; title=&quot;Integration of Web Service Stacks in an Esb&quot;&gt;Slides from the BOF session at JavaOne&lt;/a&gt;&lt;object style=&quot;margin:0px&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=integrationofjax-wsstackinaesb-090615153509-phpapp01&amp;stripped_title=integration-of-web-service-stacks-in-an-esb&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=integrationofjax-wsstackinaesb-090615153509-phpapp01&amp;stripped_title=integration-of-web-service-stacks-in-an-esb&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;&quot;&gt;View more &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/&quot;&gt;Microsoft Word documents&lt;/a&gt; from &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/bfmj4fj&quot;&gt;bfmj4fj&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/288901856678473881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/288901856678473881' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/288901856678473881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/288901856678473881'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2009/06/integration-of-web-service-stacks-in.html' title='Integration of Web Service Stacks in an ESB'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-3701909175464401442</id><published>2009-06-13T16:06:00.000-04:00</published><updated>2009-06-15T16:43:13.857-04:00</updated><title type='text'>Enhancing the Role of a Large U.S. Federal Agency as an Intermediary in the Federal Supply Chain via a Service Registry and a JBI-Based ESB</title><content type='html'>&lt;p&gt;We did a technical session at JavaOne&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4389&amp;yr=2009&amp;track=soa&quot;&gt;http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4389&amp;yr=2009&amp;track=soa&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/3701909175464401442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/3701909175464401442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/3701909175464401442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/3701909175464401442'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2009/06/enhancing-role-of-large-us-federal.html' title='Enhancing the Role of a Large U.S. Federal Agency as an Intermediary in the Federal Supply Chain via a Service Registry and a JBI-Based ESB'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-5571503983986695383</id><published>2009-04-02T17:37:00.000-04:00</published><updated>2009-04-02T18:13:28.105-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="REST"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><category scheme="http://www.blogger.com/atom/ns#" term="WOA"/><title type='text'>WOA is neither SOA nor REST</title><content type='html'>I admit that I am only catching up on the whole Web Oriented Architecture (WOA, See &lt;a href=&quot;http://hinchcliffe.org/archive/2008/02/27/16617.aspx&quot;&gt;What Is WOA? It&#39;s The Future of Service-Oriented Architecture (SOA)&lt;/a&gt; ) buzz. But I don’t think it is true that &lt;a href=&quot;http://blog.gartner.com/blog/index.php?itemid=400&amp;amp;catid=31#comments&quot;&gt;Web-Oriented Architecture&quot; to represent the concept of &quot;SOA plus REST&quot;&lt;/a&gt;, because based on my reading of the definition, it is neither:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A WOA is not a SOA because it is not description oriented. Without a description language such as WSDL, publishing and subscribing to services becomes problematic.&lt;/li&gt;&lt;li&gt;A WOA is not REST because it does address “state transfer” part of REST. While I can see WOA works well in many simple cases of web application design, I believe it needs to be complement with, yes, traditional SOA, and semantic web technologies to solve complex problems, for one simple reason: not all service interactions can be modeled as CRUD. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Let’s take a very simple example: travel reservation. Let’s assume that the travel agent has implemented a WOA style service. So a client (any client on the web) can create a Reservation (Resource identified by a URI) through a simple HTTP PUT. Let’s say the Reservation is “on hold” initially. And a representation (let’s assume XML) of the Reservation is return to the client:&lt;br /&gt;&lt;br /&gt;&amp;lt;reservation xmlns=&quot;…&quot;&amp;gt;&lt;br /&gt;&amp;lt;flight&amp;gt;UA989&amp;lt;/flight&amp;gt;&lt;br /&gt;&amp;lt;date&amp;gt;2009-04-01Z&amp;lt;/date&amp;gt;&lt;br /&gt;&amp;lt;status&amp;gt;Held&amp;lt;/status&amp;gt;&lt;br /&gt;&amp;lt;/reservation&amp;gt;&lt;br /&gt;&lt;span style=&quot;font-family:Courier New;&quot;&gt;&lt;/span&gt;&lt;br /&gt;Now, maybe a day later, the client wants to purchase this reservation. What should it (since the client is not a human being in our case) do? The logical options are&lt;br /&gt;&lt;br /&gt;1. Do an HTTP POST with a new Reservation.&lt;br /&gt;&lt;br /&gt;&amp;lt;reservation xmlns=&quot;…&quot;&amp;gt;&lt;br /&gt;&amp;lt;flight&amp;gt;UA989&amp;lt;/flight&amp;gt;&lt;br /&gt;&amp;lt;date&amp;gt;2009-04-01Z&amp;lt;/date&amp;gt;&lt;br /&gt;&amp;lt;status&amp;gt;Purchased&amp;lt;/status&amp;gt;&lt;br /&gt;&amp;lt;/reservation&amp;gt;&lt;br /&gt;&lt;br /&gt;But the problem is how we can ensure that the user does not change other parts of the reservation like Flight. If the answer is the system simply ignores the Flight information on a POST, how can we make that constraint known to any client on the web? &lt;p&gt;&lt;/p&gt;&lt;p&gt;2. Do a partial update, in which case you probably need to define a whole protocol like &lt;a href=&quot;http://www.w3.org/Submission/WSRT/&quot;&gt;WSRT&lt;/a&gt;&lt;/p&gt;&lt;p&gt;3. Make the Status a separate Resource. So, you would do&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:courier new;font-size:85%;&quot;&gt;POST /Reservation/20090401UA989_1234/Status HTTP/1.1&lt;br /&gt;… …&lt;br /&gt;Purchased&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The problem here is how does the client extract information about the link between resources /Reservation/20090401UA989_1234 and /Reservation/20090401UA989_1234/Status from the representation of the Reservation as, per &lt;a href=&quot;http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven&quot;&gt;Fielding&lt;/a&gt;,&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;A REST API should be entered with no prior knowledge beyond the initial URI&lt;br /&gt;(bookmark) and set of standardized media types that are appropriate for the&lt;br /&gt;intended audience (i.e., expected to be understood by any client that might use&lt;br /&gt;the API). From that point on, all application state transitions must be driven&lt;br /&gt;by client selection of server-provided choices that are present in the received&lt;br /&gt;representations or implied by the user’s manipulation of those representations&lt;/blockquote&gt;&lt;p&gt;Of course we can bring RDF in to solve this, but it is not clear how semantic web fits in the WOA stack.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/5571503983986695383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/5571503983986695383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/5571503983986695383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/5571503983986695383'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2009/04/woa-is-neither-soa-nor-rest.html' title='WOA is neither SOA nor REST'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-5321820522831174390</id><published>2008-11-26T00:51:00.000-05:00</published><updated>2008-11-29T03:50:58.481-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESB"/><category scheme="http://www.blogger.com/atom/ns#" term="JBI"/><category scheme="http://www.blogger.com/atom/ns#" term="SCA"/><title type='text'>Service Composition, Service Mediation, and the role of WSDL</title><content type='html'>It does not seem like we’ll get a break from the whole &lt;a href=&quot;http://osoa.org/&quot; target=&quot;_blank&quot;&gt;SCA&lt;/a&gt; vs. &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=208&quot;&gt;JBI&lt;/a&gt; controversy any time soon. Until the industry agree on what proper relationship between them should be, I don’t think there is any real hope for &lt;a href=&quot;http://jcp.org/en/jsr/detail?id=312&quot;&gt;JBI 2.0&lt;/a&gt;, which is really sad for those of us advocating for a standard based ESB.&lt;br /&gt;&lt;br /&gt;So, how should SCA and JBI work together? The answer always depends on who you ask. From the JBI perspective, JBI provides a platform for service mediation, while SCA can be used for composing these services for a particular business purpose (a composite application). From the SCA perspective, SCA is for making composite applications and JBI can be used as a specific SCA binding.&lt;br /&gt;&lt;br /&gt;I have been thinking about the subtle difference between service composition and service mediation. Service composition, as SCA correctly pointed out, is about grouping platform independent services together to serve a business purpose. The key point is that the platform specific concerns are left to specific bindings, which is probably close to the &lt;a href=&quot;http://www.omg.org/docs/ad/08-09-12.ppt&quot;&gt;soaML&lt;/a&gt; work that is going on at OMG. In many ways, composite application can thought as a programming model – when you are designing a composite application on a SCA platform, you need to know SCA! (On the other hand, an application developer designing a service should not be aware of an ESB, whether it is JBI based or not)&lt;br /&gt;&lt;br /&gt;Service mediation is about providing a common platform at runtime for service interactions, which implies a few things, the most important being the need for a common way to describe services. For that, I think we have pretty much settled on WSDL and WS-Policy. I think the JBI approach, i.e., ESB endpoints described using WSDL and an NMR based the WSDL 2.0 message exchange patterns, provides a better mediation platform.&lt;br /&gt;&lt;br /&gt;The role WSDL plays in service mediation is also recognized by SCA – the use of Mediation Modules shows that. But if WSDL is good enough for bridging SCA with the external world, why aren’t they good enough to describe the internal ESB endpoints that make up a composite application?</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/5321820522831174390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/5321820522831174390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/5321820522831174390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/5321820522831174390'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2008/11/composition-and-mediation-united-in.html' title='Service Composition, Service Mediation, and the role of WSDL'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2037956888833505452.post-4307262582921475922</id><published>2008-11-13T20:31:00.000-05:00</published><updated>2008-11-13T20:46:59.538-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ESB"/><category scheme="http://www.blogger.com/atom/ns#" term="JAX-WS"/><category scheme="http://www.blogger.com/atom/ns#" term="JBoss"/><category scheme="http://www.blogger.com/atom/ns#" term="SOAP"/><title type='text'>Web Service Support in JBossESB</title><content type='html'>I made an assertion that JBossESB 4.4 did not come with an out-of-the-box SOAP listener. As a result, a user has two options to get a SOAP over HTTP message onto the ESB:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Process the message on the ESB through an HTTP listener. The draw back is that is that the payload of the ESB message will be the SOAP envelope instead of domain objects. And the listener will not be able to support WS-* since it does not process SOAP headers. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Process the SOAP message with a web service hosted in JBossWS. This “ESB-aware” web service then pushes an ESB message to the ESB message through the service invoker interface, as shown in diagram below. The advantage of this approach is that QoS policies, including WS-*, can be enforced by the web service. The disadvantage is that the user will not take advantage of the ESB’s support for transport protocol bindings.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5268321100473167378&quot; style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 371px; CURSOR: hand; HEIGHT: 152px; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPiPuO1u-IsbguInBgc7kHaOohrBM-t2wBHDf5ojIi6gsxPpF4BiGYGG5NeUr9AQDWSBP9E3iKUH7TVKNPB4_WCRZlHhuQeXd46d7xSXRKvUqpnkBRDuZV2yykCq4_CGd_9SRQ6V8OCQpZ/s320/image001.png&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;I was immediately challenged because some marketing material had said that JBossWS is now part of the ESB. First, that is not what the &lt;a href=&quot;http://www.jboss.org/jbossesb/downloads&quot;&gt;JBoss download page&lt;/a&gt; says: &lt;/p&gt;&lt;blockquote&gt;The jbossesb-server binary distribution is a pre-configured profile based on the JBoss Microkernel architecture. The ESB Server comes pre-installed with JBoss messaging, JBoss Webservices, all of the base ESB capabilities and is the best choice for those who want to get started quickly.&lt;br /&gt;&lt;br /&gt;The jbossesb binary distribution is a standalone distribution of JBoss ESB. The distribution comes with installation scripts allowing it to be installed into a full JEE&lt;br /&gt;application server, if required. &lt;/blockquote&gt;&lt;div&gt;Aside from the marketing, however, I think what got people confused is the fact that JBossWS hosted web service can be exposed as an ESB endpoint through the SOAPProcessor action. (Oh, the web service can even be deployed with the ESB achieve…..So great! :)&lt;br /&gt;&lt;br /&gt;But what gets exposed by SOAPProcessor is really an ESB endpoint, not a web service endpoint, as pointed by &lt;a href=&quot;http://www.jboss.org/jbossesb/docs/4.4.GA/manuals/html/ProgrammersGuide.html&quot;&gt;JBossESB Programmer’s Guide:&lt;/a&gt; &lt;/div&gt;&lt;blockquote&gt;The SOAPProcessor action allows you to expose JBossWS 2.x and higher Webservice Endpoints through endpoints (listeners) running on the ESB (“SOAP onto the bus”). This allows you to use JBossESB to expose Webservice Endpoints (wrapper Webservices) for services that don&#39;t expose a Webservice Interface. JBossWS Webservice Endpoints exposed via this JBossESB action are “ESB Message Aware” and can be used to invoke Webservice Endpoints over any transport channel supported by the ESB. &lt;/blockquote&gt;&lt;div&gt;To be precise, in this approach, JBossWS acts as a service container for some POJO programmed to the conventions of JAX-WS. Because the web service endpoint is not exposed by the ESB through SOAPProcessor action, you will still need to use one of the two alternatives outlined above, as suggested in the diagram below. &lt;img id=&quot;BLOGGER_PHOTO_ID_5268321803567155106&quot; style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 190px; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGfE5-gbqS1gDrcNT1SDZynT89UZvl0bkOlSQsdCTMgs1C1XhdRnv6TnTQhlJnqvGF9YacSpwlDf42HFGffNP0PTaut9HfXWHL8QYcJThZU_u-XnU4N8V7b6d79TF6I5mJkYPWgyBuVLyQ/s320/image003.png&quot; border=&quot;0&quot; /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://semanticmediation.blogspot.com/feeds/4307262582921475922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2037956888833505452/4307262582921475922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/4307262582921475922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2037956888833505452/posts/default/4307262582921475922'/><link rel='alternate' type='text/html' href='http://semanticmediation.blogspot.com/2008/11/web-service-support-in-jbossesb.html' title='Web Service Support in JBossESB'/><author><name>BFMJ4FJ</name><uri>http://www.blogger.com/profile/15880885312878546145</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPiPuO1u-IsbguInBgc7kHaOohrBM-t2wBHDf5ojIi6gsxPpF4BiGYGG5NeUr9AQDWSBP9E3iKUH7TVKNPB4_WCRZlHhuQeXd46d7xSXRKvUqpnkBRDuZV2yykCq4_CGd_9SRQ6V8OCQpZ/s72-c/image001.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>