1 / 22

Agile SOA Agile EAI

Agile SOA Agile EAI. How do we achieve agility in Enterprise Integration?. 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.

silas
Download Presentation

Agile SOA Agile EAI

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.

E N D

Presentation Transcript


  1. Agile SOAAgile EAI How do we achieve agilityin Enterprise Integration?

  2. What is Enterprise Integration? • Enterprise Integration is the main activityof 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 interfacesfor almost everything we buy. • Enterprise Integration means building application-to-application (A2A)and business-to-business (B2B) interfaces.

  3. Context Analysis Planning Managing Testing Deploying What is Enterprise Integration? The message is the feature-set. Release planning is a multi-player game. Concurrent engineering requires a different approach to project management. Re-usable components and services require automated test suites. Deployment requires configuration control. Contents

  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. 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 messagesthat are exchanged between business processes. • A major application is the IT proxy or interface for some business process. • A2A or B2B -- It is the samething. What if your enterprise decides to out-source a business process?

  6. In-comingMessages Request Work Order Request Question Work Order Status Entity State (data) SubscribedEvent External Event of Interest to Me Data Subscribed Out-goingMessages Response Work Order Complete Answer Progress / Exception Business Object (data) PublishedEvent Event I Observe or Validateof Interest to Others Data Published Analysis: What to look for …

  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. • Question: What is the status of work order W? • Notice: Inventory asset A moved from location L1 to location L2.

  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. • Response: Service S installed at location L. • Question: What is the status of work order W? • Notice: Inventory asset A moved from location L1 to location L2.

  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. In-coming Messages Request: (We accept the request.)Please install a meter of type T for service S at location L. Query: (We answer the question.)Metric M = How much energy has been used at meter M? Response:(When the work is done, the delegate responds with work order results.)Work order W completed normally with results R Notice: (We subscribe to notice.)Meter M needs a new battery before date D. Out-going Messages Request:(We delegate work to …)Please install a meter of type T for service S at location L. Query:(We ask the delegate.)Status S = What is status of work order W? Publish: (We publish the event.)Meter M is monitoring service S at location L. Example: Metering Service

  11. Business Collaboration - a Use Case Scenario

  12. Release planning is a multi-player game. Planning and Budgeting • Business Process -- owner / governor • Application Portfolio -- owner / governor • Component Library -- architect / planner Design and Construction • Software Architect -- designer / planner / coordinator • Project Manager -- planner / coordinator • Software Developer -- builder / tester / operator / maintainer

  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) Askwhich features are necessaryandsufficient. • Is data replication necessary and sufficient? • Is passive notification of exceptions sufficient? • Is workflow needed?

  14. Business Process A Business Process B Application1 Application4 Application2 Application5 Application3 Application6 Interface Packaging ==> Wrapperswithin wrappers Create services by building wrappers on business services, legacy applications, and the message delivery system. Message Delivery Service publish subscribe Question Answer

  15. Business Service Wrapper Business Process == Business Service ApplicationA BusinessProcessWorkflow Request Response ApplicationB ApplicationC Published Event Subscribed Event

  16. Legacy Application Wrappers Business Process == Business Service Request ApplicationA Response ApplicationB Database Question-Answer ApplicationC Published Event Subscribed Event

  17. Sender Detect the event / need. Assemble the business objects into the message. Send the message. What about workflow? Workflow is essential for handling business-process exceptions. Each process manages its own workflow and no other workflow. Receiver Receive the request. Translate the business objects into local form. Call the equivalent method. Workflow Responsibilities Delegate work as needed. Respond to process exceptions. Publish events. Feed back results. Collect statistics. Work Breakdown Structure

  18. Concurrent Engineering Who 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. • Create and maintain a repertoire of common business objects. • The project coordinators have the skills and tools to … • Identify project-to-project dependencies. • Coordinate release plans. Messages and business objectsprovide clear and succinct points of contact for design discussions and release coordination

  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- You can exhaustively test the service to assure backward compatibility. • 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. Some services have 100’s of clients

  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. 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. To achieve EAI / SOA agility:Focus on the business-processmessage exchanges.

More Related