Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Agile SOA   Agile EAIHow do we achieve agilityin Enterprise Integration?
What is Enterprise Integration? Enterprise Integration is the main activity  of an in-house software development organiza...
ContentsContext     What is Enterprise Integration?Analysis    The message is the feature-set.Planning    Release planning...
The message is the feature. The message is the feature in EAI and SOA. Analysis: Enterprise Patterns. How to identify t...
The message is the feature … because: Enterprise Integration implements communications  between business processes. The ...
Analysis: What to look for …In-coming Messages           Out-going Messages Request                     Response      W...
Messages are speech acts.Express each message as a complete sentence. Request:    Please install a new service S         ...
Noun ==> Business Object  Write each message as a complete sentence.  Use nouns in a consistent way.  Avoid application-sp...
Message Patterns ==> Design Patterns Request-Response                 (work order … publish-subscribe)    Client: Please...
Example: Metering ServiceIn-coming Messages                         Out-going Messages Request: (We accept the request.) ...
Business Collaboration - a Use Case ScenarioFrom         To            MessageClient       Metering      Please replace me...
Release planning        is a multi-player game.Planning and Budgeting Business Process -- owner / governor Application P...
How do you plan a release?A release is a coherent set of features for a specific audience (UI feature set) for a specifi...
Interface Packaging ==> Wrappers    Create services by building wrappers    on business services,                         ...
Business Service Wrapper                   Business Process == Business Service    Request                                ...
Legacy Application Wrappers                   Business Process == Business Service    Request                             ...
Work Breakdown StructureSender                                 Receiver Detect the event / need.              Receive th...
Concurrent EngineeringWho should do which components? Each application’s maintenance team has the local knowledge to …   ...
SOA requires automated test suites.Why do you need automated test suites? If you have a service with 10-20 clients,  and ...
Configuration Control Challenges Where is each component used?    To whom do we send release notices? Where is this ser...
Summary Business processes communicate via messages. That means the message is the feature (the user story)    for agile...
To achieve EAI / SOA agility:   Focus on the business-processmessage exchanges.
Upcoming SlideShare
Loading in …5
×

Agile SOA - Agile EAI

1,298 views

Published on

How do you achieve agility with
Service Oriented Architecture
and
Enterprise Application Integration

Published in: Technology
  • Be the first to comment

Agile SOA - Agile EAI

  1. 1. Agile SOA Agile EAIHow do we achieve agilityin Enterprise Integration?
  2. 2. What is Enterprise Integration? Enterprise Integration is the main activity of an in-house software development organization. Building software products is not our main activity. Why? DTE is in a mature industry and a relatively stable environment. As a result we can buy almost all of the software we need cheaper than we can build it. But we still need to create interfaces for almost everything we buy. Enterprise Integration means building application-to-application (A2A) and business-to-business (B2B) interfaces.
  3. 3. ContentsContext What is Enterprise Integration?Analysis The message is the feature-set.Planning Release planning is a multi-player game.Managing Concurrent engineering requires a different approach to project management.Testing Re-usable components and services require automated test suites.Deploying Deployment requires configuration control.
  4. 4. The message is the feature. The message is the feature in EAI and SOA. Analysis: Enterprise Patterns. How to identify the messages quickly and simply.  Messages are speech acts.  Identify messages in complete sentences.  Nouns identify business objects (data entities).
  5. 5. The message is the feature … because: Enterprise Integration implements communications between business processes. The simple way to plan the integration features is to think about the messages that are exchanged between business processes. A major application is the IT proxy or interface for some business process. A2A or B2B -- It is the same thing. What if your enterprise decides to out-source a business process?
  6. 6. Analysis: What to look for …In-coming Messages Out-going Messages Request  Response  Work Order Request  Work Order Complete Question  Answer  Work Order Status  Progress / Exception  Entity State (data)  Business Object (data) Subscribed Event  Published Event  External Event  Event I Observe or Validate of Interest to Me of Interest to Others  Data Subscribed  Data Published
  7. 7. Messages are speech acts.Express each message as a complete sentence. Request: Please install a new service S at location L. Response: Service S installed at location L. L Question: What is the status of work order W? Notice: Inventory asset A moved from location L1 to location L2.
  8. 8. Noun ==> Business Object Write each message as a complete sentence. Use nouns in a consistent way. Avoid application-specific jargon. Request: Please install a new service S at location L. L Response: Service S installed at location L. L Question: What is the status of work order W? W Notice: Inventory asset A moved from location L1 to location L2. L2
  9. 9. Message Patterns ==> Design Patterns Request-Response (work order … publish-subscribe)  Client: Please replace meter M at location L with a meter of type T.  Service: Meter M1 with reading R1 replaced with meter M2 reading R2. Question-Answer (query … remote procedure call)  Client: Order status S = What is the status of work order W?  Service: Work order W has status S. Event Notice (event … publish-subscribe)  Publisher: Work order W will be delayed due to problem P.  Subscriber: (updates local work management)
  10. 10. Example: Metering ServiceIn-coming Messages Out-going Messages Request: (We accept the request.)  Request: (We delegate work to …) Please install a meter of type T Please install a meter of type T for service S at location L. for service S at location L. Query: (We answer the question.)  Query: (We ask the delegate.) Metric M = How much energy Status S = What is status has been used at meter M? of work order W? Response: (When the work is  Publish: (We publish the event.) done, the delegate responds with work Meter M is monitoring service S order results.) Work order W completed at location L. normally with results R Notice: (We subscribe to notice.) Meter M needs a new battery before date D.
  11. 11. Business Collaboration - a Use Case ScenarioFrom To MessageClient Metering Please replace meter M at location L with a meter of type T. Service (This is work order WO-A received from the Client.)Metering Field Please replace meter M at location L with a meter of type T.Service Service (This is work order WO-B delegating work to Field Service.)Field Metering Meter M1 reading R1 replaced with meter M2 reading R2.Service Service (Work order WO-B completion report received from Field Service.)Metering Client Meter M1 reading R1 replaced with meter M2 reading R2.Service (This is work order WO-A completion report sent to Client.)Metering Subscribers Meter M1 reading R1 replaced with meter M2 reading R2.Service (This event notice is published for all interested subscribers.)Subscriber (self) Each subscriber updates its world-model (stored in a database) to reflect the business event. There may be additional side-effects.
  12. 12. Release planning is a multi-player game.Planning and Budgeting Business Process -- owner / governor Application Portfolio -- owner / governor Component Library -- architect / plannerDesign and Construction Software Architect -- designer / planner / coordinator Project Manager -- planner / coordinator Software Developer -- builder / tester / operator / maintainer
  13. 13. How do you plan a release?A release is a coherent set of features for a specific audience (UI feature set) for a specific process (EAI feature set)Ask which features are necessary and sufficient. Is data replication necessary and sufficient? Is passive notification of exceptions sufficient? Is workflow needed?
  14. 14. Interface Packaging ==> Wrappers Create services by building wrappers on business services, within legacy applications, and the message delivery system. wrappersBusiness Process A Business Process B Message Delivery Service Application publish subscribe Application 1 4 Application Question Application 2 5 Application Answer Application 3 6
  15. 15. Business Service Wrapper Business Process == Business Service Request Application Response A Business Application Process B WorkflowPublished Event ApplicationSubscribed Event C
  16. 16. Legacy Application Wrappers Business Process == Business Service Request Application Response A Application Question-Answer Database BPublished Event ApplicationSubscribed Event C
  17. 17. Work Breakdown StructureSender Receiver Detect the event / need.  Receive the request. Assemble the business objects  Translate the business objects into the message. into local form. Send the message.  Call the equivalent method.What about workflow? Workflow Responsibilities  Workflow is essential  Delegate work as needed. for handling  Respond to process exceptions. business-process exceptions.  Each process manages  Publish events. its own workflow  Feed back results. and no other workflow.  Collect statistics.
  18. 18. Concurrent EngineeringWho should do which components? Each application’s maintenance team has the local knowledge to …  Write logic to detect events.  Write logic to translate between local representation and standard representation.  Write application wrappers (API). Each business-process team has the knowledge to …  Define and implement local workflows.  Define and implement end-to-end tests.  Design business-process monitoring (dashboard displays and reports). A tooling team has the skill and focus to …  Create commonly-used components and services. Messages  Create and maintain a repertoire of common business objects. and business objects The project coordinators have the skills and tools to … provide  Identify project-to-project dependencies. clear and succinct points of contact  Coordinate release plans. for design discussions and release coordination
  19. 19. SOA requires automated test suites.Why do you need automated test suites? If you have a service with 10-20 clients, and you are about to deploy a new release … You can ask all of the clients to re-test. -OR- Some services You can exhaustively test the service have 100’s to assure backward compatibility. of clients For a service of any complexity, automated tests are the only robust solution. By definition, integration tests cross system boundaries.  Business process tests tend to require set-up, tear-down, etc.
  20. 20. Configuration Control Challenges Where is each component used?  To whom do we send release notices? Where is this service used?  When the service is down, who is affected? Which version is used where?  When a method is deprecated, who is at risk?
  21. 21. Summary Business processes communicate via messages. That means the message is the feature (the user story) for agile EAI and agile SOA. Secret Sauce: Identify each message with a complete sentence. Secret Organization: Concurrent engineering reduces time to solution.
  22. 22. To achieve EAI / SOA agility: Focus on the business-processmessage exchanges.

×