The SOA Reference Model 1 By John Cheesman, Georgios Ntinolazos
|
|
|
- Clemence Blankenship
- 10 years ago
- Views:
Transcription
1 The SOA Reference Model 1 By John Cheesman, Georgios Ntinolazos Abstract This is the first in a series of articles in which we provide precise guidance on implementing SOA. This builds upon and further details many of concepts introduced in our five part series last year, and will progressively create a common reference model and process for SOA. Introduction Regular readers of CBDI will be familiar with the notion that SOA is about more than Web Services - it's an approach to architecture in which the capabilities are provided and consumed as s. This approach is applicable to all types of capability and behaviors. Not surprisingly SOA is not a completely new approach; in fact it has firm foundations in Design by Contract (DbC) and Component Based Development (CBD). However whilst there are good lessons to be learnt from these disciplines, they are incomplete in their support for a SOA, requiring new and or revised concepts to address the significant differences between the "interface" and "" concepts, as well as issues such as loose coupling of components, runtime discovery, use and replacement, and technology independence. As with any complex subject, it s difficult to make significant headway into comprehending its concepts and principles, or understanding how it compares to other approaches and product offerings, without some common reference points. This is certainly true of -orientation, component-based development and distributed computing platforms. This article sets out a reference model for SOA as a whole, summarized in Figure 1, and takes a brief tour through some of the areas, particularly looking at the underlying concepts and the SOA Application Reference Model. Subsequent articles will further develop each of these areas. SOA Reference Model SOA Concept Model SOA Process SOA Application Reference Model Organizational Model SOA Patterns Service Development Figure 1 Elements of SOA The main areas of the reference model are as follows: SOA Concept Model the underlying concepts used by the other areas. This model includes, component, interface, assembly and so on. 1 This article first appeared in the CBDIJournal, March 2004 and is copyright CBDI Forum Limited.
2 SOA Application Reference Model a standard for the organization of the application layer which bridges the business and technology layers and creates the backdrop to enable traceability throughout the development and deployment lifecycle. SOA Process this is really a family of processes or approaches which describe how to actually implement SOA as a business. It covers a whole host of areas but in particular defines the organizational models that need to be adopted and the development workflows a full lifecycle process for creating software s SOA Patterns a library of best practice in the application of both SOA concepts and the application reference model. This includes for example, different types of component, architecture styles, layering models and principles and so on. The Application Layer Let s start by looking at the traditional application layer in the business-application-technology stack (Figure 2). Applications are the bridge between business and technology. Applications exist to automate business processes (or some pieces of a business process) thereby making those processes more efficient and effective. They are therefore constantly leveraging technology evolutions to provide improved automation of the business processes, and in turn the business processes evolve to take advantage of new technologies and new application opportunities. Business Layer automates Application Layer Technology Layer applies Figure 2 The Application Layer bridging business and technology The application layer has a rather difficult job. Rather like a tectonic plate boundary, it has to bridge two worlds that are constantly changing or under pressure to change, and which have a degree inertia and a lot of momentum. To avoid looking like an earthquake zone it needs to exhibit a number of important characteristics: Flexibility existing automated business processes can be updated or re-configured to support new business processes as required. This means managing the dependency relationship between the business process element and the process automation element (what we can call the ) Technology- independence this means managing the dependency relationship between the automation element and the implementation technology. This can be characterized as technology-independence but is perhaps more accurately the ability to manage multiple implementation technologies. This then includes the ability to integrate legacy systems and COTS products as well as to accommodate multiple technology platforms. Further, business priorities dictate that changes need to happen quickly (we are now told that applications must be not only flexible but agile ). This in turn means that these dependencies
3 must accommodate rapid change perhaps the business wants to standardize on its software support for customer-facing processes, for example. This would mean updating all applications that automated elements of such processes and creating a standardized set of automated s. It would also mean ensuring that all the current implementations of such s could be surfaced in that form. How would that look on your company s IT-impact Richter scale? Service - the Business boundary Before we take a look at the application layer itself it s helpful to think about exactly what the boundary is with the business layer. A good way of assess the business side of the line is to think in terms of so-called business elements [5]. A business element is a business process, a resource or an organizational unit. Sims took this idea forward in last year s SOA series [2] to define some specific kinds of business element, summarized again here: Resource Business Element (RBE) an independent set of related business resources, typically clustered around a single focus resource. For example, a Customer RBE might have a Customer resource at its core, with auxiliary resources such as Address, History, Profile and so on. Service Business Element (SBE) a grouping of those aspects or steps of a business process which can be considered atomic and are potentially fully automatable. If the business analysis were being done with automation in mind then an SBE might correspond to the system responsibilities of a use case specification [1]. For example, in the OpenAccount business process there may be steps such as IdentifyCustomer and CreateNewAccount. The SBE would group such automatable steps together into a logical unit, organized by business process. Delivery Business Element (DBE) a combination of RBEs and SBEs which delivers value to the business. For example, combining a Customer RBE together with SBEs that relate principally to the Customer resource would make a sensible combination of business responsibilities and would likely belong to a particular organizational unit (such as the Customer Services department). In some situations it may seem appropriate to organize steps into SBEs by resource rather than business process in which case the distinction between an SBE and a DBE may be unnecessary. However, having DBE as a distinct concept allows SBEs to be grouped in a variety of ways and different patterns of application to be adopted. The nice thing about the business element concept set is that it gives us some clear, businessoriented groupings to refer to, which are independent of the process used to define them. For example, an SBE may represent a particular set of use cases or business stories as required by the project scope. Or it may be a particular set of business process steps that have a common requirement such as auditing. However, RBEs, SBEs, DBEs are how they are scoped is a SOA process matter and we ll cover that later in the series. The main point here is that the fundamental bridge concept between the business layer and the application layer is the. It is the atomic unit of automation from a business perspective. To keep terminology clear we will qualify the term (see Figure 3). business is the name for the identified in the business layer software is the name for that aspect of the software implementation which corresponds to the business
4 Business Layer Business Process business business business software software software Application Layer Service Automation Unit Figure 3 Services define the business-application layer boundary Now, from a development process point of view we have a number of implementation options regarding the scope of the s we automate and deliver to the business. A simple approach would be to deliver a single automation unit that offers the s required by a particular DBE and for a small DBE this might be a good choice this automation unit is traditionally called an application (hence the name of this layer) although its scope may have been defined using other criteria than the scope of the DBE. For more complex DBEs it may traditionally correspond to (a subset of) a whole range of different of applications. One of the key principles of SOA is a new perspective on the basic delivery unit of the application layer. Rather than it being the traditional notion of an application, it is a automation unit whose scope will depend on your SOA process. Who knows, in the future we might even start calling these units applications. In established component-based architecture approaches [1, 7] they correspond very nicely with the concept of a system-component. Scoping the delivery unit of the application layer to align with the requirements of the business provides an important flexibility characteristic to software development. Business process change can then be more readily accommodated since the application layer is fundamentally organized in business terms. Organizing the Application Layer Keeping terminology straight is one of the main goals of the SOA Application Reference Model. The application layer unfortunately adds a level of terminology complexity that we don t often need to address at the business level and that is the distinction between development-time (or design-time) and run-time. However, ignoring this distinction when considering the application layer is a recipe for confusion or hand-waving or both so we ll tackle it head-on. Two of the key concepts in the application layer are component and interface so let s lay out some terminology distinctions there first, and relate things to s. We ll then consider the relationship between the application layer and the technology layer and some of the design patterns and standards we can use to achieve technology independence in the functional architecture. Finally we ll return to the need to standardize and abstract away all the technology glue code via an application platform.
5 Components A software is a runtime concept and is provided by a Component Object through one or more runtime interfaces. One of the difficulties with formalizing component-based approaches over the years has been the ongoing difficulty in standardizing on concepts and terminology. The term component has natural appeal and has been widely used to cover a whole range of concepts. One way to make any progress is to establish a clear namespace for concepts by providing qualifiers, although even the qualifiers can have multiple uses (e.g. business component can also mean many things). In a previous article reviewing the state of component-based development [6] we introduced a set of component forms which distinguished different aspects of a component during its lifecycle (its specification, its implementation, its deployment packaging, its runtime instance and so on) as well as the important viewpoint difference between a purely functional perspective and a technology-specific perspective. Some of the key points are repeated here and a summary concept diagram is shown in Figure 5. A functional component () is a development-time concept. It is an encapsulated piece of software that offers s (at runtime) through functional interfaces. It has an independent software development lifecycle and may be independently deployed (although as we ll see later it typically would be deployed with others to create a co-ordinated runtime assembly). At runtime we have functional component objects (Os), or component instances as they are also known [8]. A key difference between development time and runtime is that the runtime object has state (see Figure 4). Location Manager Component Component Object DataSource: SouthEast State Figure 4 Runtime objects combine software and state For example, you may have a LocationManager which handles information about geographical locations such as addresses, grid references and so on. Whilst you may find its interface definitions very interesting, the s the O offers at runtime may be of little value without some defined O state the findlocation() operation is pretty useless without some Locations to find. Now this is not true of all Os. If the is inherently stateless (i.e., it is a function) and the results depend totally on the provided input then it may still provide a useful. For example, a Fahrenheit-Centigrade converter needs no state of its own. Alternatively, some Os have fairly static or constant state. For example, an Income Tax calculation mainly operates using the information supplied to it, but it does rely on a number of internal constants such as the tax rates, tax band levels and so on. This state is relatively constant but may change from year to year in which case the would need to be redeployed, or potentially reconfigured at runtime. Many of the current public examples of web s are of
6 this stateless nature. Having no state also alleviates many of the complexities involved with security and transactions. Although s are the unit of independent development, this does not mean that the Os are independent at runtime. To operate they may require the s of other Os and to ensure that an is truly independent and encapsulated these dependencies must be captured in the specification. This is done by specifying an in terms of both the interfaces it provides and the interfaces it requires (Figure 5). It is then the assembler s job to ensure that these dependencies are resolved at runtime more on assemblies later. Implementation Unit Component Implementation source Specification Unit Component Spec spec realization 1 Component 1 instance Component Object Execution Unit provided 1.. required Interface module Component Module Deployment Unit Figure 5 Component Forms Coming back to s, we can now state that a software is a runtime concept and is provided by an O through one or more runtime interfaces (Figure 6). The represents a business perspective and maps on to the operations of runtime functional interfaces. In the diagram this is shown as a many-many relationship between and interface and, as discussed above, the details of this mapping are more to do with the SOA process, which we will detail in later articles, than the reference model per se. Working top-down it would certainly be natural to organize functional components and their interfaces to align with SBEs, RBEs or DBEs for example, but there are also other policies that can be applied. There may be many other constraints on the form of the functional interface and the scope of a functional component if working bottom-up.
7 Component Spec provided 1.. required Interface Software Service Definition Component Object provided 1.. required Interface instance Software Service Figure 6 Components and Services The Technology boundary The Component concept is a mechanism for clearly separating and managing the boundary between the application layer and the technology layer. s provide a homogeneous construct for functional application architecture, allowing the implementation and deployment details to be managed separately. specifications are therefore technology-platform-independent and may be defined in any appropriate specification language. This distinguishes s from technology component (TC) concepts like Enterprise JavaBeans (EJBs) or.net components these are part of the implementation. Further, s may not use distributed component technology platforms at all, but be implemented using legacy and COTS systems. The concept therefore provides a technology-neutral application architecture concept and the link to the technology platform occurs inside the (see Figure 7). This allows of course many different technology platforms to be involved in the technology layer (Application servers, Web Servers, Message Queues, Transaction Processing Monitors, and so on). One important consideration therefore when defining functional component specifications is ensuring that any required functional execution context can be passed between Os (e.g. transaction status). It is a requirement of the implementation to ensure that the functional execution context can be applied appropriately using the technology platform it has chosen.
8 Application Layer TC TC Technology Layer API COTS System TC Technology Layer Technology Layer Figure 7 Components manage the Technology Layer boundary One of the difficulties in applying component concepts fully at the application layer level has been the technology-related constraints in the TC platforms (e.g., communication protocols, TC lifecycle management, Container interoperability, etc). These constraints significantly impede flexible solution composition. The approach employs proven component-based software engineering principles, and builds an abstraction layer on top of the current technology to alleviate these problems. Component Model An important aspect of application architectural flexibility is loose-coupling between s whereby the consuming defines the functional interfaces it needs independently of the functional interfaces provided by others. To ensure that the interfaces of an are purely functional an implementation needs to include a technology-binding element to the technology-specific interface(s) being employed internally. The internal interface might be an EJB Home or Remote Interface, a Message Queue message, or a COTS system API for example (see Figure 8).
9 Technology Binding Technology Interface Business Logic Interface Technology-specific Binding (e.g. JNDI Lookup) Technology-specific Interface (e.g. EJB Home Interface, MQ Message, API) Figure 8 Organization of a Component This separation of functional interface and technology-binding is part of the fundamental functional component model which forms part of the SOA application reference model. The technology binding piece can be packaged separately and become mobile code, allowing the implementation to be upgraded, adopting new technologies without impacting the client - a new technology-binding can be dynamically deployed to the client without changing the functional interface. How do web s and WSDL fit in? Although the functional interface definition defines the operations that can be invoked it does not define the communication protocol to be used when invoking it (e.g. SOAP, RMI). In order for one to use s provided by another there must also be agreement on this protocol. Web s fit very neatly with this model and the distinction between functional interface and communication protocol. The Web Service Definition Language (WSDL) provides two main aspects of a software definition: 1. technology-independent definition of the operations and parameters of a. This corresponds directly with the concept of Interface. 2. specification of a particular communication protocol (e.g. SOAP) An advantage of using the web s standard is that the functional interface to be used by the client and the supplier can be generated into the programming language of choice in each and generated proxy code handles the translation and communication in a similar way to CORBA IDL. This means that developers see the functional interface represented in their chosen implementation language. Note however, this is a programming language binding (e.g. to Java) and not a technology-platform binding (e.g. to EJB). This second step is provided by the developer as part of the technology binding. However, this approach is predicated on the agreement of functional interfaces (and protocols) by the connected parties. Another important aspect of application architectural flexibility is loose-coupling between s whereby the consuming defines the functional interfaces it needs independently of the functional interfaces provided by others. This makes the specification and implementation of an totally independent of any other functional specification and shifts the responsibility for aligning functional interfaces to the assembling architect, which is logical place for it. This architectural benefit this approach provides can be achieved by introducing explicit connectors into the runtime assembly. Loosely-coupled
10 assemblies also introduces the integration problem of contract alignment and whose responsibility it is the supplier or the assembler or both. We will discuss this topic further in subsequent articles. Assemblies Assembly is the process of linking together runtime software elements. In our case this means identifying a set of Os (and other assembly elements such as connectors and user interface elements where appropriate) and linking them together so that their external dependencies are resolved and consistent with the planned architecture (see Figure 9). We call the result of this process a Assembly (the term Assembly alone already has multiple connotations). The appropriate Os working in the context of an assembly will then constitute one or more Service Automation Units as shown in Figure 3. Assembly Component Object Software Service Figure 9 Assembly As with design there are important parallels between the creation of the functional assembly and the technology-specific concept of an assembly of TCs, but they are distinct constructs. In particular it is important to understand the Assembly structure in order to populate the deployment information of the TCs correctly. In fact, this has always been the case, but the fact of making the O and Assembly notions explicit serves as an important tool for validating TC deployment descriptors. Service Discovery and Dynamic Assembly Using the Service Discovery Service, an O allows for runtime assembly re-configuration. The Assembly provides the appropriate runtime environment context for an O. It allows each O to assume that the s it needs are available within the assembly (after all, part of the process of assembling s was to ensure that this was the case). This means that each O can operate without worrying about the lifecycle of the other Os in the assembly they can be instantiated independently. This is a different form of loose-coupling runtime lifecycle-independence. This can be achieved by providing one well-known within the assembly a -discovery (SDS), and registering the assembly information for the SDS to access via a registration (see Figure 10).
11 O1 O2 2. Request 3. Provide 1. Register O SDS Assembly Manager Registration Figure 10 Service Discovery Using the SDS, an O can gain access to the s it requires through a simple call. It is insulated from both the way that is provided (e.g. how the O is implemented) and from the assembly configuration itself. It also allows for dynamic (runtime) assembly reconfiguration by changing the Os in the assembly. Os can be notified of the need to refresh their connections via the runtime environment context. Building in context sensitivity to Os allows them to adapt to changes in their runtime environment. For example, if a particular such as CreditCardCheck needs replacing by another one due to increasingly poor quality of characteristics this can be achieved dynamically. Application Platform Building software directly on top of a technology platform means that a certain proportion of the application or code will be related to accessing technology platform s. There are two main problems with this: logic is mixed up with technology-platform logic. This means the developer needs to understand both how to implement the functional requirement in code (usually called the business logic ) and how to write the code to use the technology-platform s (this code is sometimes referred to unceremoniously as glue [4]). The skills needed to write these two types of code are often quite different. Further, it increases the overall size of the code which in turn increases the maintenance overhead. The same technology-platform logic or glue code will appear throughout the business logic code but each glue code occurrence may vary since there are no constraints to ensure a standardized form. This also increases the maintenance overhead since code is replicated and gives rise to bugs since code variations may not conform to best practice. A solution to these problems is to establish an application platform, above the level of the technology. This can provides a level of indirection between the business logic itself and the technology platform by providing framework-based standardized implementations of s and their design elements such as technology bindings. It can also incorporate standardized functional s which are employed by many s, for example, logging, error handling, audit trails, and so on), functional component standards and types such as assembly and environmental context definitions, and a standard implementation of a discovery. Going further, with sufficient richness in the functional component model it could provide declarative access to some of these s rather than requiring them to be explicitly requested. For example, simply tagging a functional operation as requiring audit control would result in any call to that operation being audited without placing any requirement on either the provider or the consumer of that.
12 Application Layer Application Platform SDS Std Services Std Design Element Component Model Technology Layer Figure 11 Application Platform The application platform abstracts above the various technology platforms found in the technology layer. Regardless of the technology-dependency of a given it can access the application platform s in a standard way. The functional component model and any Standard Design Elements would potentially need instantiating for each technology platform supported. Similarly, standard s could be duplicated on each technology platform if the quality of due to cross-technology-platform access was found to be insufficient. SOA Application Reference Model If we now pull all these elements together we can define an SOA Application Reference Model as depicted in Figure 12. Business Layer business Business Process Business Service Patterns Application Layer software Service Automation Unit Architecture Patterns Application Platform Standard Services Design Patterns Service Discovery Service Component Model Technology Layer Figure 12 SOA Application Reference Model
13 The unit of delivery to the business is the automation unit and this comprises one or more functional components offering software s through their interfaces. Patterns apply at many levels and we have shown some of the most important ones. Business patterns define business grouping constructs (such as SBE, DBE and so on) giving structure to the business s and providing a base for the SOA Process. Architecture patterns define different types of (e.g. Process, Domain, System, Infrastructure, ) and architectural styles and principles for the way to link these together. Application layering models as defined in [1], [3] and [6] provide good examples of such patterns as is the topical approach of creating an orchestration layer for underlying software s. Design patterns provide support in both the use of the application platform and the technology. Many design patterns available today are effectively technology design patterns helping you to use, for example, web s, EJBs or.net. These fit naturally within the Design pattern area. Conclusion We have taken a light tour round some of the main areas of the SOA Reference Model and perhaps one of the major themes to come across is its sheer scope. Hopefully it is not too daunting - orienting software provision to align with business s is a major change. But many of the key technology pieces are already in place. The trick is to apply these in the correct way at the application level. SOA debates in the industry have suffered from a lack of precision thus far. The need for a reference model is becoming paramount to ensure all the parallel activities that are happening have some hope of being joined-up for the customer. We have not shied away from addressing the need for some of this precision, particularly the distinction between development time and runtime concepts, and the need to maintain a functional view throughout the lifecycle, not just during analysis and design. An ongoing industry trend has been the rise and rise of the platform, from operating system, to transaction processing monitors and databases, to distributed object systems, to web servers and application servers. This trend is inexorable. The logical next step is to include application layer s as we have described in this article and establish an application platform. However, it is important that the fundamental concept distinctions are in place (for example the difference between Component and Technology Component). Some of the product directions we see happening at the moment would indicate that they are missing, with, for example, business workflow products linking directly into technology components and missing out the critical functional layer. Architecture, as always, continues to be important, but with increasing complexity, flexibility and change in an SOA world, understanding architectures becomes more difficult. The introduction and standardization of SOA concepts is critical and in turn will create standards for new architectural viewpoints such as specification architectures and O assemblies. Perhaps one of the most important differences that SOA adds is the move away from the fixed application to the dynamic assembly. This possibility tends to give system testers nightmares, but is critical for businesses to be able to compete and remain agile in their marketplaces. With the business drivers clearly there solutions to some of the arising technical challenges such as what does it mean to test a dynamic assembly? will need to be found and new ways of thinking established.
14 So where do we go from here? To turn theory into reality we will be focusing the next article on a real world example. This will help to understand some of the new SOA concepts and structures and act as a reference point for subsequent articles on the SOA Process which is where we take the series after that. References 1. John Cheesman and John Daniels, UML Components, Addison Wesley, CBDi Best Practice Report SOA Part 2 the Bridge, April CBDi Best Practice Report SOA Part 3 Federation, May CBDi Best Practice Report SOA Part 4 the Platform, June David Taylor, Business Engineering with Object Technology, Wiley CBDi Roadmap Report Component-based Development Where next?, July/August Peter Herzum and Oliver Sims, Business Component Factory, Wiley Clemens Szyperski, Component Software, Addison Wesley, 1999
Developing the Architectural Framework for SOA Adoption
Developing the Architectural Framework for SOA Adoption Oliver Sims Enterprise Architect [email protected] Copyright Open-IT Limited 2005 Agenda Service Orientation just a good technology? The
Service-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
Federal Enterprise Architecture and Service-Oriented Architecture
Federal Enterprise Architecture and Service-Oriented Architecture Concepts and Synergies Melvin Greer Chief Strategist, SOA / Cloud Computing Certified Enterprise Architect Copyright August 19, 2010 2010
Service-Oriented Architecture and its Implications for Software Life Cycle Activities
Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:
Component Based Development in Software Engineering
Component Based Development in Software Engineering Amandeep Bakshi, Rupinder Singh Abstract--In today s world, Component Based development is an active research area for more than a decade in software
Chapter 4. Architecture. Table of Contents. J2EE Technology Application Servers. Application Models
Table of Contents J2EE Technology Application Servers... 1 ArchitecturalOverview...2 Server Process Interactions... 4 JDBC Support and Connection Pooling... 4 CMPSupport...5 JMSSupport...6 CORBA ORB Support...
Lesson 18 Web Services and. Service Oriented Architectures
Lesson 18 Web Services and Service Oriented Architectures Service Oriented Architectures Module 4 - Architectures Unit 1 Architectural features Ernesto Damiani Università di Milano A bit of history (1)
The Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q. Exam Code: S90-03A. Exam Name: SOA Design & Architecture
SOACertifiedProfessional.Braindumps.S90-03A.v2014-06-03.by.JANET.100q Number: S90-03A Passing Score: 800 Time Limit: 120 min File Version: 14.5 http://www.gratisexam.com/ Exam Code: S90-03A Exam Name:
Service Governance and Virtualization For SOA
Service Governance and Virtualization For SOA Frank Cohen Email: [email protected] Brian Bartel Email: [email protected] November 7, 2006 Table of Contents Introduction 3 Design-Time Software
Service-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
Introduction to Service Oriented Architectures (SOA)
Introduction to Service Oriented Architectures (SOA) Responsible Institutions: ETHZ (Concept) ETHZ (Overall) ETHZ (Revision) http://www.eu-orchestra.org - Version from: 26.10.2007 1 Content 1. Introduction
Developing SOA solutions using IBM SOA Foundation
Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this
Outline SOA. Properties of SOA. Service 2/19/2016. Definitions. Comparison of component technologies. Definitions Component technologies
Szolgáltatásorientált rendszerintegráció Comparison of component technologies Simon Balázs, BME IIT Outline Definitions Component technologies RPC, RMI, CORBA, COM+,.NET, Java, OSGi, EJB, SOAP web services,
Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence
Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence Service Oriented Architecture SOA and Web Services John O Brien President and Executive Architect Zukeran Technologies
Challenges and Opportunities for formal specifications in Service Oriented Architectures
ACSD ATPN Xi an China June 2008 Challenges and Opportunities for formal specifications in Service Oriented Architectures Gustavo Alonso Systems Group Department of Computer Science Swiss Federal Institute
Service Virtualization: Managing Change in a Service-Oriented Architecture
Service Virtualization: Managing Change in a Service-Oriented Architecture Abstract Load balancers, name servers (for example, Domain Name System [DNS]), and stock brokerage services are examples of virtual
Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures
Part I EAI: Foundations, Concepts, and Architectures 5 Example: Mail-order Company Mail order Company IS Invoicing Windows, standard software IS Order Processing Linux, C++, Oracle IS Accounts Receivable
IBM Information Management
IBM Information Management January 2008 IBM Information Management software Enterprise Information Management, Enterprise Content Management, Master Data Management How Do They Fit Together An IBM Whitepaper
Research on the Model of Enterprise Application Integration with Web Services
Research on the Model of Enterprise Integration with Web Services XIN JIN School of Information, Central University of Finance& Economics, Beijing, 100081 China Abstract: - In order to improve business
CT30A8901 Chapter 10 SOA Delivery Strategies
CT30A8901 Chapter 10 SOA Delivery Strategies Prof. Jari Porras Communications Software Laboratory Contents 10.1 SOA Delivery lifecycle phases 10.2 The top-down strategy 10.3 The bottom-up strategy 10.4
www.progress.com DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS
DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS TABLE OF CONTENTS Introduction 1 Progress Corticon Product Architecture 1 Deployment Options 2 Invoking Corticon Decision Services 4 Corticon Rule Engine 5
Prerequisites for Successful SOA Adoption
George Feuerlicht University of Technology, Sydney [email protected] 1. INTRODUCTION The adoption of SOA (Service Oriented Architecture) has gained momentum in the past two years, and the predictions
SOA CERTIFIED CONSULTANT
SOA CERTIFIED CONSULTANT (5 Days) A Certified SOA Consultant is required to obtain proficiency in a cross-section of key SOA topic areas, including both conceptual and technical aspects of service-oriented
Web Application Development for the SOA Age Thinking in XML
Web Application Development for the SOA Age Thinking in XML Enterprise Web 2.0 >>> FAST White Paper August 2007 Abstract Whether you are building a complete SOA architecture or seeking to use SOA services
Realizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1) E14294-04 January 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include: What
Service Oriented Architecture (SOA) An Introduction
Oriented Architecture (SOA) An Introduction Application Evolution Time Oriented Applications Monolithic Applications Mainframe Client / Server Distributed Applications DCE/RPC CORBA DCOM EJB s Messages
Writing Grid Service Using GT3 Core. Dec, 2003. Abstract
Writing Grid Service Using GT3 Core Dec, 2003 Long Wang [email protected] Department of Electrical & Computer Engineering The University of Texas at Austin James C. Browne [email protected] Department
Business-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster [email protected] Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
Service-oriented architecture in e-commerce applications
Service-oriented architecture in e-commerce applications What is a Service Oriented Architecture? Depends on who you ask Web Services A technical architecture An evolution of distributed computing and
Service Mediation. The Role of an Enterprise Service Bus in an SOA
Service Mediation The Role of an Enterprise Service Bus in an SOA 2 TABLE OF CONTENTS 1 The Road to Web Services and ESBs...4 2 Enterprise-Class Requirements for an ESB...5 3 Additional Evaluation Criteria...7
Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1
Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra
SOA and Cloud in practice - An Example Case Study
SOA and Cloud in practice - An Example Case Study 2 nd RECOCAPE Event "Emerging Software Technologies: Trends & Challenges Nov. 14 th 2012 ITIDA, Smart Village, Giza, Egypt Agenda What is SOA? What is
Oracle Application Development Framework Overview
An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services
What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications.
What can DDS do for You? Learn how dynamic publish-subscribe messaging can improve the flexibility and scalability of your applications. 2 Contents: Abstract 3 What does DDS do 3 The Strengths of DDS 4
SOA Myth or Reality??
IBM TRAINING S04 SOA Myth or Reality Jaqui Lynch IBM Corporation 2007 SOA Myth or Reality?? Jaqui Lynch Mainline Information Systems Email [email protected] Session S04 http://www.circle4.com/papers/s04soa.pdf
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles
Component-Based and Service-Oriented Software Engineering: Key Concepts and Principles Hongyu Pei Breivold, Magnus Larsson ABB AB, Corporate Research, 721 78 Västerås, Sweden {hongyu.pei-breivold, magnus.larsson}@se.abb.com
zen Platform technical white paper
zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS
SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework
JBS-102: Jboss Application Server Administration. Course Length: 4 days
JBS-102: Jboss Application Server Administration Course Length: 4 days Course Description: Course Description: JBoss Application Server Administration focuses on installing, configuring, and tuning the
Enterprise Architecture: Practical Guide to Logical Architecture
Objecteering Practical Guides Enterprise Architecture: Practical Guide to Logical Architecture Author: Version: 1.0 Copyright: Softeam Softeam Consulting Team Supervised by Philippe Desfray Softeam 21
Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc. [email protected]
Service Oriented Architecture Based Integration Mike Rosen CTO, AZORA Technologies, Inc. [email protected] Mike Rosen ACCESS TO THE EXPERTS Consultant Chief Enterprise Architect for service and
Independent Insight for Service Oriented Practice. An SOA Roadmap. John C. Butler Chief Architect. A CBDI Partner Company. www.cbdiforum.
Independent Insight for Oriented Practice An SOA Roadmap John C. Butler Chief Architect A CBDI Partner Company www.cbdiforum.com Agenda! SOA Vision and Opportunity! SOA Roadmap Concepts and Maturity Levels!
1 What Are Web Services?
Oracle Fusion Middleware Introducing Web Services 11g Release 1 (11.1.1.6) E14294-06 November 2011 This document provides an overview of Web services in Oracle Fusion Middleware 11g. Sections include:
SOA Fundamentals For Java Developers. Alexander Ulanov, System Architect Odessa, 30 September 2008
SOA Fundamentals For Java Developers Alexander Ulanov, System Architect Odessa, 30 September 2008 What is SOA? Software Architecture style aimed on Reuse Growth Interoperability Maturing technology framework
Extend the value of your core business systems.
Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems
Service Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence [email protected] Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
Oracle Service Bus. Situation. Oracle Service Bus Primer. Product History and Evolution. Positioning. Usage Scenario
Oracle Service Bus Situation A service oriented architecture must be flexible for changing interfaces, transport protocols and server locations - service clients have to be decoupled from their implementation.
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
LinuxWorld Conference & Expo Server Farms and XML Web Services
LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware
Technical Track Session Service-Oriented Architecture
Technical Track Session Service-Oriented Architecture Terry Woods Agenda A little history What is Service-Oriented Architecture? How do you build a Service-Oriented Architecture Solution? What is an Enterprise
BUSINESS RULES AND GAP ANALYSIS
Leading the Evolution WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Discovery and management of business rules avoids business disruptions WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Business Situation More
Business Process Management Enabled by SOA
Business Process Management Enabled by SOA Jyväskylä 8.5.2007 Kimmo Kaskikallio IT Architect IBM Software Brands Five middleware product lines designed to work together Service-Oriented Architecture (SOA)
SOA @ ebay : How is it a hit
SOA @ ebay : How is it a hit Sastry Malladi Distinguished Architect. ebay, Inc. Agenda The context : SOA @ebay Brief recap of SOA concepts and benefits Challenges encountered in large scale SOA deployments
Testing Web Services Today and Tomorrow
Copyright Rational Software 2002 http://www.therationaledge.com/content/oct_02/m_webtesting_jb.jsp Testing Web Services Today and Tomorrow by Jason Bloomberg Senior Analyst ZapThink LLC With all the attention
Service Oriented Architecture 1 COMPILED BY BJ
Service Oriented Architecture 1 COMPILED BY BJ CHAPTER 9 Service Oriented architecture(soa) Defining SOA. Business value of SOA SOA characteristics. Concept of a service, Enterprise Service Bus (ESB) SOA
SOA for Healthcare: Promises and Pitfalls
SOA for Healthcare: Promises and Pitfalls Dennis B. Smith [email protected] SOA in Health Care Conference: Value in a Time of Change Chicago, IL USA June 3, 2009 Agenda Healthcare IT Challenges SOA: The
SOA CERTIFIED JAVA DEVELOPER (7 Days)
SOA CERTIFIED JAVA DEVELOPER (7 Days) To achieve this certification, the following exams must be completed with a passing grade: Exam S90.01: Fundamental SOA & Service-Oriented Computing Exam S90.02: SOA
The Service, The Cloud & The Method: The Connection Points
The Service, The Cloud & The Method: The Connection Points Thomas Erl SOA Systems Inc. Prentice Hall Service-Oriented Computing Series Started in 2003 Text Books are an Official Part of the SOACP Curriculum
SOA: The missing link between Enterprise Architecture and Solution Architecture
SOA: The missing link between Enterprise Architecture and Solution Architecture Jaidip Banerjee and Sohel Aziz Enterprise Architecture (EA) is increasingly being acknowledged as the way to maximize existing
Guiding Principles for Modeling and Designing Reusable Services
Guiding Principles for Modeling and Designing Reusable Services Max Dolgicer Managing Director International Systems Group, Inc. [email protected] http://www.isg-inc.com Agenda The changing notion
Distributed Objects and Components
Distributed Objects and Components Introduction This essay will identify the differences between objects and components and what it means for a component to be distributed. It will also examine the Java
SOA Planning Guide. 2015 The Value Enablement Group, LLC. All rights reserved.
SOA Planning Guide 1 Agenda q SOA Introduction q SOA Benefits q SOA Principles q SOA Framework q Governance q Measurement q Tools q Strategic (long term) View 2 Introduction to SOA q Service-oriented architecture
Component Based Software Engineering: A Broad Based Model is Needed
Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science
Service Oriented Architecture
Service Oriented Architecture Situation The idea of Service Oriented Architecture (SOA) as well as the concepts behind it are often confusing to both Java developers and WebLogic administrators. Vendors
Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing
Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Presented by : Ajay Budhraja, Chief, Enterprise Services ME (Engg), MS (Mgmt), PMP, CICM, CSM,
EBXML FEATURE SOAP WSDL. written by Una Kearns UDDI. Content Management & Web Services. 6 November 2001 www.wsj2.com
WS J FEATURE SOAP EBXML written by Una Kearns UDDI WSDL Content Management & Web Services 6 November 2001 econtent Services the services behind Web Services Una Kearns, XML architect at Documentum, leads
SOA Architect Certification Self-Study Kit Bundle
SOA Architect Certification Bundle A Certified SOA Architect has demonstrated proficiency in the mechanics of serviceoriented computing through the mastery of patterns, principles, practices, and industry
SOA + BPM = Agile Integrated Tax Systems. Hemant Sharma CTO, State and Local Government
SOA + BPM = Agile Integrated Tax Systems Hemant Sharma CTO, State and Local Government Nothing Endures But Change 2 Defining Agility It is the ability of an organization to recognize change and respond
Accelerate your SOA Projects through Service Simulation
Accelerate your SOA Projects through Service Simulation Overview Modern web services-based Service Oriented Architecture (SOA) enables service consumers and producers to exchange messages over ubiquitous
A standards-based approach to application integration
A standards-based approach to application integration An introduction to IBM s WebSphere ESB product Jim MacNair Senior Consulting IT Specialist [email protected] Copyright IBM Corporation 2005. All rights
E-Business Suite Oracle SOA Suite Integration Options
Specialized. Recognized. Preferred. The right partner makes all the difference. E-Business Suite Oracle SOA Suite Integration Options By: Abhay Kumar AST Corporation March 17, 2014 Applications Software
California Enterprise Architecture Framework. Service-Oriented Architecture (SOA) Reference Architecture (RA)
California Enterprise Architecture Framework Service-Oriented Architecture (SOA) Reference Architecture (RA) Version 1.0 Final January 2, 2014 This Page is Intentionally Left Blank Version 1.0 Final ii
Web Services and Service Oriented Architectures. Thomas Soddemann, RZG
Web Services and Service Oriented Architectures, RZG Delaman Workshop 2004 Overview The Garching Supercomputing Center - RZG Diving into the world of Web Services Service Oriented Architectures And beyond
SOA REFERENCE ARCHITECTURE: WEB TIER
SOA REFERENCE ARCHITECTURE: WEB TIER SOA Blueprint A structured blog by Yogish Pai Web Application Tier The primary requirement for this tier is that all the business systems and solutions be accessible
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat
Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat Page 1 of 14 Roadmap Client-Server Architecture Introduction Two-tier Architecture Three-tier Architecture The MVC Architecture
What is the NXTware Evolution Server Peter Marquez, Product Marketing ecube Systems
What is the NXTware Evolution Server Peter Marquez, Product Marketing ecube Systems The NXTware Evolution Server is designed to simplify the integration of your enterprise s software assets, including
How service-oriented architecture (SOA) impacts your IT infrastructure
IBM Global Technology Services January 2008 How service-oriented architecture (SOA) impacts your IT infrastructure Satisfying the demands of dynamic business processes Page No.2 Contents 2 Introduction
Agile EAI November 2002 Martin Fowler Gregor Hohpe
Agile EAI November 2002 Martin Fowler Gregor Hohpe Abstract Enterprise Application Integration (EAI) is a top priority in many enterprises. Requirements for improved customer service or self-service, rapidly
How To Understand The Benefits Of Cloud Computing
Issue in Focus: Assessing the Cloud PLM Opportunity Evaluating Benefits, Requirements, and Considerations Tech-Clarity, Inc. 2012 Table of Contents Introducing the Issue... 3 The Cloud Meets PLM... 3 Evaluating
Service Oriented Architecture
Service Oriented Architecture Version 9 2 SOA-2 Overview Ok, now we understand the Web Service technology, but how about Service Oriented Architectures? A guiding analogy Terminology excursion Service,
What is BPM? Software tools enabling BPM
What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies
Service Oriented Architecture (SOA) Architecture, Governance, Standards and Technologies 3-day seminar Give Your Business the Competitive Edge SOA has rapidly seized the momentum and center stage because
Business Integration Architecture for Next generation OSS (NGOSS)
Business Integration Architecture for Next generation OSS (NGOSS) Bharat M. Gupta, Manas Sarkar Summary The existing BSS/OSS systems are inadequate in satisfying the requirements of automating business
Getting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
Enterprise Application Designs In Relation to ERP and SOA
Enterprise Application Designs In Relation to ERP and SOA DESIGNING ENTERPRICE APPLICATIONS HASITH D. YAGGAHAVITA 20 th MAY 2009 Table of Content 1 Introduction... 3 2 Patterns for Service Integration...
An introduction to SOA and the HP NonStop server environment
Technical white paper An introduction to SOA and the HP NonStop server environment Table of contents About this document SOA is everywhere What is SOA? Why should you care about SOA? What is a service?
How To Create A C++ Web Service
A Guide to Creating C++ Web Services WHITE PAPER Abstract This whitepaper provides an introduction to creating C++ Web services and focuses on:» Challenges involved in integrating C++ applications with
Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus
Combining Service-Oriented Architecture and Event-Driven Architecture using an Enterprise Service Bus Level: Advanced Jean-Louis Maréchaux ([email protected]), IT Architect, IBM 28 Mar 2006 Today's business
SOA and BPO SOA orchestration with flow. Jason Huggins Subject Matter Expert - Uniface
SOA and BPO SOA orchestration with flow Jason Huggins Subject Matter Expert - Uniface Objectives Define SOA Adopting SOA Business Process Orchestration Service Oriented Architecture Business Level Componentisation
How To Build A Financial Messaging And Enterprise Service Bus (Esb)
Simplifying SWIFT Connectivity Introduction to Financial Messaging Services Bus A White Paper by Microsoft and SAGA Version 1.0 August 2009 Applies to: Financial Services Architecture BizTalk Server BizTalk
Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group. Tuesday June 12 1:00-2:15
Service Oriented Architecture and the DBA Kathy Komer Aetna Inc. New England DB2 Users Group Tuesday June 12 1:00-2:15 Service Oriented Architecture and the DBA What is Service Oriented Architecture (SOA)
A Quick Introduction to SOA
Software Engineering Competence Center TUTORIAL A Quick Introduction to SOA Mahmoud Mohamed AbdAllah Senior R&D Engineer-SECC [email protected] Waseim Hashem Mahjoub Senior R&D Engineer-SECC Copyright
Myths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.
WSJ: SOA Myths About Service-Oriented Architecture Demystifying SOA Service-oriented architecture (SOA) refers to an architectural solution that creates an environment in which services, service consumers,
