service-oriented architecture and frameworks – SOA frameworks

service-oriented architecture and frameworks Introduction
Papazoglou, (2003) organised SOA in four architectural layers: Service Foundations, Service Composition, Service Management and Service Engineering and outlined a host of technologies that could be utilised when developing and deploying an SOA system to overcome the challenges of a distributed enterprise system, including application integration, security policies, transaction management / message exchange and allowing multiple platforms and protocols to communicate effectively across a companies legacy assets and systems.

A comparison of service-oriented architecture and frameworks

SERVICE FOUNDATIONS
SERVICE COMPOSITION
SERVICE MANAGEMENT
SERVICE ENGINEERING

service-oriented architecture and frameworks

Service-oriented architecture and frameworksHow It Works
A typical SOA incorporates many protocols and standards – WSDL, SOAP, UDDI, XML, HTTP, XSLT to name a handful. The component of an SOA tasked with passing the documents and messages, the Enterprise System Bus (ESB) is responsible for the translation of messages between systems which themselves use multiple protocols and various programming languages and API implementations – e.g. Java, C++, .net, XML, SOAP, PHP, COBOL, JMS, etc.

WSDL, SOAP, UDDI, XML, JSON, HTTP
JAVA, C++, .NET, SOAP, PHP

IBM defines ESB as a system that “…enables a business to make use of a comprehensive, flexible, and consistent approach to integration while also reducing the complexity of the applications being integrated. Due to the complex and varying nature of business needs, ESB is an evolutional progression that unifies message oriented, event driven and service oriented approaches for integrating applications and service.”
Microsoft (2009)

Enterprise System Bus
The ESB component can communicate to legacy protocols using various ‘adaptors’, ‘Service Interfaces’ or ‘Integration Brokers’ which enable legacy protocols to communicate with the ESB – e.g. ftp, http, Database, JMS and WebSphere MQ adaptors are available in the case of Oracle Fusion or can be implemented with an additional layer of middleware, such as IBM WebSphere Integration Broker – All provide abstraction layers to facilitate document and / or message transfer and translation between connected services – e.g. rather than integrating an existing legacy system directly with a new CRM, the legacy system is extended to provide messaging into the WebSphere MQ ESB, which, in turn provides compatibility with any other system that can communicate with WebSphereMQ. Papazoglou, M.P. and Heuvel, W.-J. (2007) states that “[An ESB] establishes proper control of messaging as well as applies the needs of security, policy, reliability, and accounting, in an SOA architecture.”

They all have a Business Process Management (BPM) component. Bojanova and Samba (2011) give a short overview of Oracle Fusion as ‘In particular, the Oracle Fusion Middleware PaaS offering [5] includes user interface (UI) technologies, service oriented architecture (SOA) technologies, and business process management (BPM).’

Business Process Manager
They all have a Business Process Management (BPM) component. Bojanova and Samba (2011) give a short overview of Oracle Fusion as ‘In particular, the Oracle Fusion Middleware PaaS offering [5] includes user interface (UI) technologies, service oriented architecture (SOA) technologies, and business process management (BPM).’

Each has a preferred development system, though they are all compatible with multiple programming languages, e.g. Oracle Fusion uses Jdeveloper while IBM WebSphere and MS BisTalk use MS Visual Studio. Each provide a service registry for governance utilising UDDI.

Each provide a way to use various components from their respective systems with competitors systems, that is, the frameworks themselves apply the SOA principles of loose-coupling – e.g., using IBM WebSphere Message Queue as the ESB component with BPEL and analytical components of Oracle Fusion.

Security Components
“Policy-aware environments such as Microsoft’s Web Services Extensions (WSE) (2.0 and above), Window’s Communications Foundation (WCF), or IBM’s WebSphere Application server (WAS) (5.1 or above) provide implementations of an interceptor that can be configured using either WS-Policy files (WSE, WCF) or custom configurations (WAS) built directly into the run-time environment.“ – Rosen, M., Lublinsky, B., Smith, K.T., et al. (2008) Applied SOA pp332

WSE, WCF, WAS

“[An ESB] establishes proper control of messaging as well as applies the needs of security, policy, reliability, and accounting, in an SOA architecture.”

Papazoglou, M.P. and Heuvel, W.-J. (2007)

Service-oriented architecture and frameworksIBM WEBSPHERE
IBM WebSphere is a brand of application and integration middleware software products aimed at enterprise organisations, The main product is IBM WebSphere Application Server. IBM WebSphere provides various components and is very modular – Qiu, R.G., Fang, Z., Shen, H., et al. (2007) – each component can be chosen so that systems are customisable to client requirements all components run as middleware. IBM WebSphere supports visual studio and .net languages, along with Java J2EE and the eclipse platform – Budinsky, F., DeCandio, G., Earle, R., et al. (2004) and runs on various operating systems: AIX, HP-UX, Solaris, Linux, MSWindows, z/OS – IBM (2005).

There are various products within the WebSphere suite that can be used as an ESB – IBM Integration Bus – enterprise bus for messages / documents, IBM DataPower Gateways – Enterprise Service Bus (ESB) and IBM WebSphere Message Queue (MQ) – IBM (2014b).

IBM WebSphere Application Infrastructure – building, managing, analysing and deploying applications and services. Various cloud and mobile technologies are available under this classification, e.g. webSphere Application Server, IBM Workload Deployer, WebSphere Message Queue – IBM (2014a).

IBM WebSphere provides interfaces to various BPM monitoring tools, rule systems and languages, e.g. .net, COBOL and provides systems for process automation, discovery and design and integrations into third party BPM systems. IBM WebSphere Mobile Management and security products provide both pluggable rack mounted, pre-configured hardware and virtual systems that can help improve the performance of xml and web service deployments while extending the SOA infrastructure. IBM Mobile Portal Accelerator provides mobile access to enterprise portals. There are products available for E-Commerce and rapid generation of enterprise portal websites within the WebSphere suite. IBM (2005).

IBM Service registry and repository provides the means for architects and developers to identify and catalog existing service definitions, service interfaces, service operations and parameters for services used within the enterprise. The Service registry is a core component in the SOA foundation as it underpins the governance aspect of the SOA – IBM (2014c).

MICROSOFT BIZTALK
An ESB component is available in the form of Microsoft BizTalk ESB Toolkit – Microsoft (2009), and supports ‘adaptors’ to facilitate communication with different protocols and supports message queuing and message brokering. Windows Azure Service Bus can also function as an ESB for Microsoft BIzTalk, and provides additional cloud functionality but is external to the enterprise network. BizTalk Uses Visual Studio .net as its preferred development environment and can be used with various applications: SAP, Oracle, ms sql server, oracle databases, DB2, etc.

Business Activity Monitoring and Business process automation (BPM) are supported using BPMN, BPEL, UDDI and WSDL – Wikipedia (2014a).

Microsoft BizTalk server 2013 supports UDDI 3.0 for service discovery, publishing and interaction through the Microsoft visual studio development environment. (Microsoft 2014).

Service-oriented architecture and frameworksORACLE FUSION
Oracle BPEL Process Manager supports BPEL, XML, XSLT, XPATH, JMS, JCA and is used to design and run business processes within Oracle Fusion, combined with Oracle Event Processing and Oracle Business Rules, enterprises can monitor trends with the organisation and can adapt services and create new business processes using jDeveloper. Oracle Corporation (2014a). Oracle Fusion includes a ‘Hot Pluggable’ architecture for the development, deployment and management of existing applications and systems from other vendors, e.g. IBM, Microsoft, SAP (similar to BizTalk) – Oracle Corporation (2014c). Oracle Fusion depends on open standards, e.g. BPEL, SOAP, XML, JMS and uses Java EE and developer tools (JDeveloper) – Wikipedia (2014b). The ESB component of Oracle Fusion is provided by Oracle Service Bus and offers similar functionality to IBM Message Queue. Oracle Corporation (2014b). Oracle BPEL Process Manager supports BPEL, XML, XSLT, XPATH, JMS, JCA and is used to design and run business processes within Oracle Fusion, combined with Oracle Event Processing and Oracle Business Rules, enterprises can monitor trends with the organisation and can adapt services and create new business processes using jDeveloper. Oracle Corporation (2014a). Governance is provided by Oracle Service Registry, a UDDI v3 compatible service registry with automatic service discovery. Developers have access to Oracle Service Registry through the JDeveloper development environment. Oracle Corporation (2014b), Oracle Corporation (2014a).



References
• Bojanova, I. and Samba, A. (2011) Analysis of Cloud Computing Delivery Architecture Models. In 2011. IEEE. pp. 453–458
• Budinsky, F., DeCandio, G., Earle, R., et al. (2004) WebSphere Studio overview. IBM Systems Journal, 43 (2): 384–419
• IBM (2005) IBM WebSphere Developer Technical Journal: Introducing the WebSphere Integration Reference
• IBM (2014a) IBM – Connectivity and integration – United Kingdom [online]. Available from: http://www-03.ibm.com/software/products/en/category/connectivity-integration-soa [Accessed 6 December 2014a]
• IBM (2014b) IBM – Products – IBM DataPower Gateways [online]. Available from: http://www-03.ibm.com/
software/products/en/ibm-datapower-gateways
[Accessed 6 December 2014b]
• IBM (2014c) IBM WebSphere Service Registry and Repository – Frequently Asked Questions [online].
Available from: http://www-01.ibm.com/software/integration/wsrr/library/faqs.html#f6 [Accessed 6 December 2014c]
• Microsoft (2011) Using Visio 2010 BPMN to Design, Model and Document BizTalk Solutions – TechNet Articles – United States (English) – TechNet Wiki
• Oracle Corporation (2014a) Oracle SOA Suite 12 – A Detailed Look. pp. 1–18
• Oracle Corporation (2014b) Oracle SOA Suite 12. pp. 1–4
• Oracle Corporation (2014c) SOA Suite | Service-Oriented Architecture | Oracle [online]. Available from:
http://www.oracle.com/us/products/middleware/soa/suite/overview/index.html [Accessed 6 December 2014c]
• Papazoglou, M.P. (2003) Service-oriented computing: concepts, characteristics and directions. In 2003. IEEE. pp. 3–12
• Papazoglou, M.P. and Heuvel, W.-J. (2007) Service oriented architectures: approaches, technologies and research issues. The VLDB Journal — The International Journal on Very Large Data Bases, 16 (3)
• Qiu, R.G., Fang, Z., Shen, H., et al. (2007) Design and Development of a Service-Oriented Supply Chain: An IT Perspective. In 2007. IEEE. pp. 585–590
• Rosen, M., Lublinsky, B., Smith, K.T., et al. (2008) Applied SOA
• Wikipedia (2014a) List of BPEL engines – Wikipedia, the free encyclopaedia [online]. Available from: http://en.wikipedia.org/wiki/List_of_BPEL_engines [Accessed 6 December 2014a]
• Wikipedia (2014b) Oracle Fusion Middleware – Wikipedia, the free encyclopaedia [online]. Available from:
http://en.wikipedia.org/wiki/Oracle_Fusion_Middleware [Accessed 6 December 2014b]