1 / 70

SOA Part1 Lecture 4

SOA Part1 Lecture 4. Dr. Withalm 23-Aug-14. Lectures at the University of Bratislava/Autumn 2009. 28.09.2009 Lecture 1 Evolution Of Architectures- The long Way from OO to SOA 05.10.2009 Lecture 2 WEB-Services& Semantic WEB 12.10.2009 Lecture 3 SOA-Technological Basis

Download Presentation

SOA Part1 Lecture 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. SOA Part1 Lecture 4 Dr. Withalm 23-Aug-14

  2. Lectures at the University of Bratislava/Autumn 2009 28.09.2009 Lecture 1 Evolution Of Architectures- The long Way from OO to SOA 05.10.2009 Lecture 2 WEB-Services& Semantic WEB 12.10.2009 Lecture 3 SOA-Technological Basis 19.10.2009 Lecture 4 SOA-Basing on J2EE 23.11.2009 Lecture 5 SOA-Focus on Business Processes 30.11.2009 Lecture 6 B2B Frameworks and related Standards 07.12.2009 Lecture 7 WEB 2.0 & GRID Dr.Withalm

  3. Today’s Agenda • Change of Architectures • SOA Concept • SOA in J2EE • Servlets • Portlets • Implications Special Acknowledgment to Mr. Roger Zacharias who developed the concept of SOA in J2EE and is heading the Xing Network Dr.Withalm

  4. Summary of lecture 3/1 • Business focus is the main intention of SOA • Direct mapping of business processes onto SW artifacts • Enabling very fast implementation of business processes • Core principles of SOA • Business driven, business agility, and constant change • Vision: the network is the application • Service categories • User(interface) service, business(logic) service, and data(backend) service • Aggregation of business services • Orchestration and Choreography • Programming paradigms • Object orientation, component orientation, service orientation • Programming approaches • Declarative, event driven, procedural, structured Dr.Withalm

  5. Summary of lecture 3/2 • Component concepts • Objects, components, services • Componentization concepts • Custom, EAI, services • Diference between conventional business processes and event driven ones • Different business component architecture • SOA interaction and EDA notification • Enterprise service bus • Ties together application and event driven services • Enabling them to operate independently and providing values to a broader business function • Service container • Are already available-see exercises • But for large implementations some important artifacts as system diagnostics& monitoring are either missing or not higly reliable Dr.Withalm

  6. Change of Architectures/1 Dr.Withalm

  7. Change of Architectures/2 • Drivers of this change are • New technologies • Java, J2EE, .NET, XML, and WS • New Business Processes • Merger of companies, Acquisition of Companies, Globalization,CNO’s (Collaborative Networked Organizations), VO (Virtual Organizations). • If business and/or market react in 3 month cycles • IT may not react in 18 month cycles • Ideally IT should map a whole business process • Which comprehend all departments • Need to integrate systems and data within and between departments • Serving different clients Dr.Withalm

  8. Service Bus/1 Dr.Withalm

  9. Service Bus/2 • Nowadays many systems with different applications and data must co-operate • To meet a business management goal • Hence a service bus could be a most appropriate approach • Enabling a maximum on flexibility • In above figure department A offers a service to department B • Which is described in a contract and is subject • To specific conditions and constraints • Merely the service providing is in the foreground • And the service provider is replaceable Dr.Withalm

  10. SOA Concept/1 Dr.Withalm

  11. SOA Concept/2 • In SOA you are only concerned with three parties • Service provider • Provides services • Registers them at the service registry of the service broker • Publishes them at service broker • Service Requester/Consumer • Uses the available services • Retrieves them at the service broker • Service Broker • Administrates references of services at the service registry • Provides search functions to retrieve them Dr.Withalm

  12. SOA /1Concept/1 • One of the biggest benefits of SOA is the possibility to reuse • Already existing services in new services • At any deepness of layering • i.e. by aggregation of basic services value added services will be generated • The so called service aggregation (orchestration/choreography) • Which defines the order and conditions • Under which complete independent from each other services interoperate • In order to realize a new service Dr.Withalm

  13. SOA /2Concept/2 • On this occasion new instruction standards are established • As for instance the business process execution language (BPEL) Business Process Execution Language • Modeling with (BPMN) Business Process Modeling Notation • The long-term goal of these endeavors are • Executable business process models • Which maybe modeled by business process analysts • The most well-known example for collaboration is • The combination of basic services as • Flight reservation , reservation of accommodation and charging of credit cards • To the higher value service “travel booking” • A SOA service may be presented in different granularities • From basic to complex work flow services-see next figure Dr.Withalm

  14. SOA /3Concept/3 Dr.Withalm

  15. Essential Terms Dr.Withalm

  16. SOA /33SOA in J2EE/1 • At present there are neither standards or blue prints in place • How SOA could be implemented in J2EE • Following a potential approach will be introduced • First of all the domain architecture will be described • And afterwards the mapping on a J2EE based architecture Dr.Withalm

  17. SOA /34SOA in J2EE/2 • The fundamental approach is the structure of the business management system • Into separate business components • Which represent closed/isolated cohesive units • These units may identified • By decomposition of the whole system Dr.Withalm

  18. SOA /35SOA in J2EE/3 • For instance, a sale information system may be structured in the following business components • Order processing, production planning, and sale planning • Business components should be in any case disintegrated • High cohesive • Business force of attraction of the parts • Minimal coupling • To parts of other business components Dr.Withalm

  19. SOA /36SOA in J2EE/4 • In that way it’s enabled to • Develop, analyze, and marketing • The resulting IT-artifacts separately and in parallel • If a system requires more of these business components • It may be configured corresponding • The specific customer requirements and domain Dr.Withalm

  20. SOA /37SOA in J2EE/5 • Each business component specifies the accompanying business process and data • For instance, a business component order processing contains the following business services • Proposal processing, order processing, supply checking • Invoice processing, and shipping processing • And manages data as • Customer, items, price, order, and invoice Dr.Withalm

  21. SOA /38SOA in J2EE/6 • The description respectively the specification of such a business component • Together with their tasks, terminologies, behavior, quality characteristics etc. • May be very efficient described • In respective part of this lectures • Introducing ARIS in Lecture 5 Dr.Withalm

  22. SOA /39SOA in J2EE/7 • The business components have the following internal state • Business services, which are aggregated to business processes • Data entities, which are mapping business data • Concretely a business component contains business services • A business process is aggregated by business services-see orchestration and choreography • A business process which is implemented as aggregation of business services is independent of business components • Case A: can aggregate services of different systems • Case B: can aggregate services of different department business applications (components) • Case C: can aggregate services of one department business application (component) • Each business service provides • Operational SOA interfaces • Which transform the system respectively the sub system from one consistent state into an other Dr.Withalm

  23. SOA /40SOA in J2EE/8 • It is a matter of business transaction • Which later on is realized by a technical transaction • For instance, a business service check delivery could exist of two operations • Check availability of product x • Check delivering time of product y Dr.Withalm

  24. SOA /41SOA in J2EE/9 • The external interface of a business component is the sum of the service interfaces • Which are applied by clients or other business components • The business service itself contains the business logic • And uses to fulfill its tasks for instance other business services • Within the same or other business components or services of external systems Dr.Withalm

  25. SOA /42SOA in J2EE/10 • The data entity of a business component will be invariably accessed • Via the services of their business components • For the data access of other business components • The respective external service will be used • The internal structure of a business component • For fulfillment of a service is hidden from the service consumer • i.e. the data flow and the interactions of the technical components Dr.Withalm

  26. Business Service Business Service Platform Service SIA SOA /43 SOA in J2EE/11 System Business Component DTO transferal DTO transferal Business Component System Client External System Data Entity System Client (Desktop, CLI, WebDesktop, EXTS, etc.) can also act as system client Technical Service-Interface (RMI/IIOP, MDB, WebService, JCA Inbound MDB, Adapter, etc.) Business Service-Interface Service Integration Adapter (SIA) (JCA Outbound, RMI/IIOP, RMI/JRMP, HTTP, WebServices, JMS, JavaMail, etc.). Data Entities: can be transient or persistent (CMP2, DAO) Business Service: SLSB Facade as process interface Dr.Withalm

  27. Abbreviations of above figure • CLI • Command Line Interface • JMS • Java Message Service • JCA • Java Connector Architecture • MDB • Message Driven Beans • DAO • Database Access Object • DTO • Database Transfer Object • SLSB • StateLess Session Bean • RMI • Remote Method Invocation • CMP • Container Managed Persistence • JRMP • Java Remote Method Protocol Dr.Withalm

  28. Business Service Business Service Business Service Business Service Example of Banking Division IT Management Productline (ITMP) Clients J2EE Server Web Container ITMP Business Services J2EE Services Browser Client Web App HTML/ HTTP • Transactions • Security • Integration • Persistence • Pooling • Concurrency • Component • Infrastructure • Manageability • Availability • Scalability • Performance RMI/ IIOP Java Client RMI/ IIOP IIOP CORBA Client SOAP/ HTTP C++ Client MQ MQ MQ Broker (e.g. MQSeries) MQ Client • Central business logic in terms of business services • Different service consumers: • User on WebDesktop / Desktop / CLI • external system of a customer due to system integration • other internal service (orchestration/choreography) • triggered by internal Scheduler (Batch-Process) • triggered by Events from Agents • etc. Business Interfaces (Business Service Operations) RDBMS ITMP Database Technical Interfaces (RMI/IIOP, SOAP, JCA Inbound, MQ, etc.) Dr.Withalm

  29. SOA /44SOA in J2EE/12 • Above figure shows the mapping of the business architecture on a technical architecture based on J2EE • i.e. for each business artifact must be one or more technical artifacts identified • Which are able to fulfill the tasks of the business artifacts • As J2EE provides a component infrastructure • A business component will contain various technical components • The described system is mapped on an Enterprise Application Archive • Which ultimately represents the application • Which contains all components Dr.Withalm

  30. SOA /45SOA in J2EE/13 • A business component containing business services and data entities • Will be mapped on a Java package with appropriate sub packages • i.e. for interfaces, implementation, and data • And will be packaged in a Java archive • The artifact business service will be mapped on a Session Bean • Usually stateless • Which takes over the role of session facade • For instance the transaction context • A facade is an object that provides a simplified interface to a larger body of code, such as a class library Dr.Withalm

  31. SOA /46SOA in J2EE/14 • Within the session bean exists-dependent of the complexity • Various strategies for mapping the business logic of the business service • The session façade may contain the business logic for the instance itself • Or apply to downstream application services • A data entity is mapped according to the application case • Either on local CMP (Container Managed Persistence)-entity beans • Or BMP (Bean Managed Persistence) entity beans together with data access objects Dr.Withalm

  32. SOA /46SOA in J2EE/15 • The technical architecture must be completed by various artifacts • In contrary to the business one • The first additional artifact is a platform service • The service approach within a system should also be applied • To make use of the emphasized advantages • For instance besides the existing caching, audit, and config services • A logging service together with operation logMessage() should be provided • Which are used by every system component • Which should nevertheless be decoupled from them Dr.Withalm

  33. SOA /48SOA in J2EE/16 • Primarily we are not interested in a maximal decoupling within a system • In using XML • But we are more interested in the service approach • In which system internal communication artifacts should be applied • And the interface must be published externally Dr.Withalm

  34. SOA /49SOA in J2EE/17 • The second artifact is an adapter to the outer world • Which should be denoted as service integration adapter • This adapter publishes the services of the external system within the own system • Must primarily provide a business interface • The implementation of the interface is directly dependent • From the external system which should be integrated • And from the interfaces of this system which should be usable • It encompasses generated WSDL stubs until the exploitation of screen scraping technique • A computer program extracts data from the display output of another program Dr.Withalm

  35. SOA /50SOA in J2EE/18 • The third additional artifact is the technical interface • Which enables the technical accessibility of a service • adorning the business interface • A SOA service should be modeled independent • As much as possible from the client type • Reusing it in future contexts • Decoupling of technical and business interface will accomplish it Dr.Withalm

  36. SOA /51SOA in J2EE/19Usage of a service from various consumers Dr.Withalm

  37. SOA /52SOA in J2EE/20 • In above figure three different consumer applications are introduced • Using the same service • An asynchronous client (message queuing client) • Calling the service by a message façade asynchronously • Two synchronous clients accessing via • RMI/IOP • Web-Service Dr.Withalm

  38. SOA /53SOA in J2EE/21 • The respective client should only know for using the service • the corresponding naming service • The business service ID • The business interface • Concerning the orchestration of the defined services • Different possibilities are in place Dr.Withalm

  39. SOA /54SOA in J2EE/22 • If a service should be used within compartment business process • It is recommended to use • A specialized business process engine • Which is calling the interfaces of the defined systems • On the respective positions within the process • If services are used in a smaller environment (with a Web front end) • The business delegate will be used as composite service respectively as service choreographer Dr.Withalm

  40. SOA /55SOA in J2EE/23 • Each service oriented system can be described completely on a high level • With help of these defined components • Each of them are own stereotypes assigned • The description is performed both static and dynamic • (UML) Component, deployment, and interaction diagrams Dr.Withalm

  41. SOA /56SOA in J2EE/24 • The description can be applicable because of the high level of abstraction • For the communication of all system stake holders • i.e. customer, management, development • Furthermore a traceability of the requirements is enabled • From the business and technical architecture to the code • As the described business artifacts are directly mapped on the technical ones Dr.Withalm

  42. SOA /57SOA in J2EE/25 • Of course a unique naming for one and the same artifact is mandatory • On all phases of the development process • When Model Driven Architecture (MDA) is broadly applied • This approach is clearly simplified Dr.Withalm

  43. SOA /58SOA in J2EE/26 • The application of object-component-service concept • Are shown by this approach • A J2EE application can be taken to respective tiers • Where each of these tiers corresponds to one of these concepts • See the following figure • So we can’t speak of replacing but of complementary approach • The difference is merely the granularity • Of the respective interfaces • And in the level of abstraction Dr.Withalm

  44. SOA /61Implications/3Abstraction pyramid- Artifacts Dr.Withalm

  45. Servlets/1 Development • Servlets are influenced both by applets and by CGI • CGI is a server-side technology • Program calls and parameters are passed on to the web server via a standardized interface; the web server then ensures the respective programs are executed as separate operating system processes • Applets are small applications executing on the client • Applets are loaded into the client’s browser by the web server and then executed Dr.Withalm

  46. Servlets/2 Characteristics/1 • Basically, Servlets are the server-side equivalent of applets • also written in Java • but executed on the server like CGI scripts after being called up by a browser or its user • in contrast to CGI, however, the web server does not start a separate process • Servlets are • executed with the help of a servlet engine • integrated into the web server • Many web servers are capable of executing Servlets Dr.Withalm

  47. Servlets/3 Characteristics/2 • The servlet technology is provided in the form of a class library (API) • Access to client requests and to further environment variables is provided • the response is written into a data stream and returned to the client • Cookies, which the server uses to store user-specific information on the client and then upload it again during the next session, are supported Dr.Withalm

  48. Servlets/4 Characteristics/3 • Sessions that enable a connection between client and server to be kept up beyond a single HTTP request are also supported • API does not define whether the application as such (which is usually accessed via Servlets) executes in the same process as the web server or maybe even on a different computer Dr.Withalm

  49. Servlets/5 Architecture/1 Web server Servlet engine S S Tier 3: Legacy application Tier 1: Presentation Tier 2: Web server/servlets Dr.Withalm

  50. Servlets/6 Architecture/2 • In tier 1 on the client side, web browsers run as presentation programs • requests are passed on to the web server by entering an URL or clicking on links • the web server detects that the URL it received encodes a servlet call • the call is passed on to the servlet engine, which then executes the servlet in question Dr.Withalm

More Related