SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Enterprise Service Bus
Proof of Concept
To the service bus and beyond...
Administrative Technology Services:
Enterprise Applications
Agenda – Lisa Justiniano
Agenda
 Goals
 Objectives
 Introduction to ESBs
 Benefits
 Recommended Solution
 Impact
 Timeline
 Q & A
3
Project Goal
Problem:
We keep “inventing” different ways to accomplish
similar integration tasks, leading to a variety of software
that needs to be maintained, supported and enhanced
by staff who understand that particular technique.
Solution:
Provide standard ways to achieve these common
integration tasks, thereby simplifying our software base
and making it more easily maintainable and accessible
by our partners in a consistent manner.
4
POC Goals
1. Get experience with Enterprise Service Bus (ESB) software in
general and with 2 or 3 specific ESB products.
2. Determine if an ESB could address our problem statement.
3. Identify an ESB that might best fits our needs.
4. Achieve these goals in three months (April – June, 2014)
5
POC Team
• John Marks (GMAS Practice)
• John Shen (PeopleSoft Practice)
• Sreeni Gunnala (FinProc Practice)
• Bill Brickman (HDW Practice)
• Mike Thomas (Lead Architect)
• Lisa Justiniano (Sponsor)
Objectives – John Shen
Objectives
• Adopt a standard, very high-level language for building
integrations between systems.
• Replace existing solutions that we use to integrate
systems, currently written in a variety of languages
including:
– Perl
– ksh, bash, awk, sed
– SQL*Plus, SQL*Loader
– Java
• Stop implementing a different solution for the same
general problem over and over.
• Make our integrations between applications more resilient
by reducing or eliminating timing dependencies.
7
Objectives
• Utilize a centralized solution in order to:
– Reduce cost and time to production
– Improve operational transparency
– Reduce security complexity and overhead
• Deploy a low cost, open and extendible solution.
• Transition slowly and incrementally over time to avoid
major disruption and allow measured adoption.
8
Introduction to ESB Software
- John Marks
Introduction to Enterprise Service Bus Software
• Two Logical Components
1. ESB
2. Message Queues
10
<from uri="file:/data/db/input"/>
<setBody><xpath resultType="java.lang.String">/query/lastName</xpath></setBody>
<to uri="sql:select count(*) as cnt from person where last_name=#?dataSource=myDS"/>
<setBody><simple>${body[0][CNT]}</simple></setBody>
<setBody><simple>${bodyAs(String)}</simple></setBody>
<to uri="file:/data/db/output"/>
• Sample Code:
• monitor a folder
• xpath extract
• sql query
• write result to file
ESB Functionality
• Host web services and call external web services
• Monitor folders (local and remote) for incoming files
• Transfer files to remote systems
• Query and update databases
• Query LDAP / AD directories
• Send and receive JMS messages
• Send and receive email
• XML parsing, searching etc.
• Call shell scripts, Java bundles
• Do SNMP queries
• TCP sockets
11
Benefits – Bill Brickman
Benefits
• Faster to market.
• More easily maintainable integrations:
– Fewer lines of code.
– Simple, URL-like, syntax.
– Code is provided for us, we just write the configuration.
• Integration libraries (DB, web services, LDAP & AD, etc.) means we
can do things we wouldn’t have attempted before.
• Transformations become possible, both in payload and in
transmission protocol, without modifying the source or target
systems.
13
Benefits
• To make both synchronous and asynchronous integrations easier.
• To enable all applications to take advantage of asynchronous
integration, meaning:
– Applications are decoupled so dependencies are relaxed:
• One application can be taken down for maintenance without notifying or
affecting other applications.
• Less worry about missed time windows (as with current batch transfers).
14
– Move from batch to transactional: fresh data gets to users faster.
Benefits
• Enforce generic and
modular coding style
– Many small reusable
bundles of code.
• Improve operational
transparency
– One place to see source of
issues and usage trends.
• Reduce security overhead
– a common gateway where
security is already
controlled (ACLs and
logins).
• Centralized simplicity
vs. point-to-point
complexity
Benefits
16
• Eliminate the “daisy
chain” method of
obtaining information so
that:
– Data gets to the end-
users faster
– Subscribers don’t
need to know much
about the source
systems
– There is a single
source of “truth”
Recommended Solution
- Mike Thomas
Recommended Solution
18
We looked at several products:
– Mule ESB
– Apache ServiceMix
– Red Hat jBoss Fuse three closely related and use ActiveMQ
– Red Hat jBoss Fabric8
– Informatica
Our recommendation:
ESB Message Queue
– Fabric8 for cloud deployment - ActiveMQ
– ServiceMix for conventional deployment
• Free, open source, standards compliant
• Multiple vendors (Apache – free; Red Hat – QA and support)
• All support fail-over and load balancing
Recommended Solution – Deeper Dive
• Fabric8 and Service Mix have common components:
– OSGi Containers: Apache Felix, Apache Aries (deploy bundles)
– Command line UI: Apache Karaf
– Integration Library: Apache Camel (routes)
– Web Services Library: Apache CXF
19
– Many more
• Fabric8 adds cloud
deployment features.
• Developer (standalone)
setup in 5-10 minutes.
Recommended Solution – Deeper Dive
• ActiveMQ JMS message broker
– supports both kinds of message queues:
• point to point
• publish / subscribe
– backed by our choice of persistence: Kaha DB, AMQ storage,
JDBC (MySQL, Oracle, etc.)
• If necessary we will evaluate alternatives to ActiveMQ like:
– Oracle DB JMS implementation
– Red Hat A-MQ
20
Recommended Solution - Architecture
Some possible configurations:
A. Multiple message brokers, private to specific groups of applications.
B. Single message broker, each application has its own ESB.
C. Single ESB and single message broker.
D. Shared message broker, ESBs private to groups of applications.
21
Recommended Solution - Architecture
• In the future we may need to move to a more complex architecture:
– for performance reasons
– to isolate populations (of developers, or systems, or even users) from
one and other
• Lowest cost and provides most benefit in
terms of shared security, logging and
auditing.
• Reduced deployment time (infrastructure
and ACLs are already in place).
• Developer environment and deployables
are the same regardless of which
architecture we choose, so is possible to
change architecture over time.
22
Our recommendation:
Impact – Sreeni Gunnala
Impact
• Impact on ATS Developers:
– New language, new deployment mechanisms.
– First integration might be hard. Second one is easy.
• Training materials will be available.
– Reduction in labor and drudgery required to build integrations
• Impact on ESB POC team:
– Outreach: demos, brown bags, wiki, and training materials.
– Best practices for error handling, logging, integrating with scheduling
and monitoring tools, and security and authorization.
– Build-out TEST and PROD infrastructure (including evaluating
alternatives to ActiveMQ like Oracle DB’s JMS).
24
Impact
• Impact on Integration partners:
– Will need to learn how to “subscribe” to a service
– Will need to learn how to “consume” a service
– Will need to assist with testing
and they...
– Will get new options for integrating with Enterprise Applications
– Will see improved reliability.
– Will see reduced time to market for new integration requests.
25
Next Steps – Lisa Justiniano
Next Steps
• Immediately build our TEST environment
• Each Practice (Enterprise Applications) will identify one or two
integrations that they would like to deploy via this new ESB as part of
their FY15 Innovation Goal
– New integration
– Existing Service
– Change management implications
• Confirm our architectural choices
• Expand infrastructure to support load balancing and fail-over.
• Build our PROD environment
• Deploy and stabilize
27
Next Steps
1.Prepare TEST Environ: months 0-4
– Install and configure bare-bones
infrastructure
– Determine and document best practices
2.Build Integrations: months 2-18
– Build and test internal integrations
– Verify assumptions
– Assess learning curve
– Assess support issues
– Confirm low impact and minimized risk
3.Rollout Pilot: months 8 –18
– Upgrade infrastructure for fail-over / load
balancing
– Build PROD environment
– Deploy Pilot Integrations
– Stabilize PROD environment and
integrations
– Refine training materials
4.Rollout to ATS: month 18 & beyond
28
Prepare
Build
Pilot
Rollout
Q & A
Example Camel Route
<!-- 1. Monitor folder for new files and use XPath get the
surname to query from the XML input file. -->
<from uri="file:/data/db/input"/>
<setBody><xpath resultType="java.lang.String">
/query/lastName</xpath></setBody>
<!-- 2. DB query. -->
<to uri="sql:select count(*) as cnt from person where
last_name=#?dataSource=myDS"/>
<!-- 3. Extract count and convert to string. -->
<setBody><simple>${body[0][CNT]}</simple></setBody>
<setBody><simple>${bodyAs(String)}</simple></setBody>
<!-- 4. write to file. -->
<to uri="file:/data/db/output"/>
30
Contact Lisa_Justiniano@harvard.edu ( x 60093 ) for more information.

Contenu connexe

Tendances

Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Microsoft Private Cloud
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns
WSO2
 
Company Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint PresentationCompany Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint Presentation
SlideTeam
 

Tendances (20)

How to create a successful proof of concept
How to create a successful proof of conceptHow to create a successful proof of concept
How to create a successful proof of concept
 
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
 
UX - User Experience Design and Principles
UX - User Experience Design and PrinciplesUX - User Experience Design and Principles
UX - User Experience Design and Principles
 
Building a Google Cloud Firestore API with dotnet core
Building a Google Cloud Firestore API with dotnet coreBuilding a Google Cloud Firestore API with dotnet core
Building a Google Cloud Firestore API with dotnet core
 
Phil Harvey, Microsoft - Data & AI
Phil Harvey, Microsoft - Data & AIPhil Harvey, Microsoft - Data & AI
Phil Harvey, Microsoft - Data & AI
 
SharePoint Folders & Metadata
SharePoint Folders & MetadataSharePoint Folders & Metadata
SharePoint Folders & Metadata
 
Lotus Notes to SharePoint Migration
Lotus Notes to SharePoint MigrationLotus Notes to SharePoint Migration
Lotus Notes to SharePoint Migration
 
Putting Users in UX: Research Methods for Strategy
Putting Users in UX: Research Methods for StrategyPutting Users in UX: Research Methods for Strategy
Putting Users in UX: Research Methods for Strategy
 
Acazia Software Company Presentation
Acazia Software Company Presentation Acazia Software Company Presentation
Acazia Software Company Presentation
 
The Importance of UX
The Importance of UXThe Importance of UX
The Importance of UX
 
Tableau Suite Analysis
Tableau Suite Analysis Tableau Suite Analysis
Tableau Suite Analysis
 
Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2
 
Planning Your Migration to SharePoint Online #SPBiz60
Planning Your Migration to SharePoint Online #SPBiz60Planning Your Migration to SharePoint Online #SPBiz60
Planning Your Migration to SharePoint Online #SPBiz60
 
User Experience Audit by Gridle
User Experience Audit by GridleUser Experience Audit by Gridle
User Experience Audit by Gridle
 
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
Introduction to Microsoft SharePoint Online Capabilities, Security, Deploymen...
 
Lotus notes app migration process v1.2
Lotus notes app migration process   v1.2Lotus notes app migration process   v1.2
Lotus notes app migration process v1.2
 
Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...Creating a Single Source of Truth: Leverage all of your data with powerful an...
Creating a Single Source of Truth: Leverage all of your data with powerful an...
 
UX Lesson 4: Task & Feature Analysis
UX Lesson 4: Task & Feature AnalysisUX Lesson 4: Task & Feature Analysis
UX Lesson 4: Task & Feature Analysis
 
API and Big Data Solution Patterns
API and Big Data Solution Patterns API and Big Data Solution Patterns
API and Big Data Solution Patterns
 
Company Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint PresentationCompany Software Design Proposal Powerpoint Presentation
Company Software Design Proposal Powerpoint Presentation
 

En vedette

En vedette (6)

Standard i sites migration
Standard i sites migrationStandard i sites migration
Standard i sites migration
 
It summit data mgmt-2016.06.02-final
It summit data mgmt-2016.06.02-finalIt summit data mgmt-2016.06.02-final
It summit data mgmt-2016.06.02-final
 
It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5It summit 2014_migrating_applications_to_the_cloud-5
It summit 2014_migrating_applications_to_the_cloud-5
 
Navigating saa s agreements
Navigating saa s agreementsNavigating saa s agreements
Navigating saa s agreements
 
Stakeholder update 4 14 data center outage
Stakeholder update 4 14 data center outageStakeholder update 4 14 data center outage
Stakeholder update 4 14 data center outage
 
Repensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIsRepensando o ESB: sua arquitetura SOA, usando APIs
Repensando o ESB: sua arquitetura SOA, usando APIs
 

Similaire à ESP POC Findings

Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
mfrancis
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16
Mark Cooper
 

Similaire à ESP POC Findings (20)

Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)Better application architecture with #microservices and #BPM (as APaaS)
Better application architecture with #microservices and #BPM (as APaaS)
 
170215 msa intro
170215 msa intro170215 msa intro
170215 msa intro
 
WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
 
Agile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is builtAgile and continuous delivery – How IBM Watson Workspace is built
Agile and continuous delivery – How IBM Watson Workspace is built
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
 
Arunprakash Alagesan
Arunprakash AlagesanArunprakash Alagesan
Arunprakash Alagesan
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
Ibm connect 2014_presentation - cust109
Ibm connect 2014_presentation - cust109Ibm connect 2014_presentation - cust109
Ibm connect 2014_presentation - cust109
 
O2 Presentation Sdp Event
O2 Presentation Sdp EventO2 Presentation Sdp Event
O2 Presentation Sdp Event
 
Viadeos Segmentation platform with Spark on Mesos
Viadeos Segmentation platform with Spark on MesosViadeos Segmentation platform with Spark on Mesos
Viadeos Segmentation platform with Spark on Mesos
 
A.S.Sivaprakash
A.S.SivaprakashA.S.Sivaprakash
A.S.Sivaprakash
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
Agile enterprise integration
Agile enterprise integrationAgile enterprise integration
Agile enterprise integration
 
ClearCase Version Importer - a migration tool to Rational Team Concert SCM
ClearCase Version Importer - a migration tool to Rational Team Concert SCMClearCase Version Importer - a migration tool to Rational Team Concert SCM
ClearCase Version Importer - a migration tool to Rational Team Concert SCM
 
Sai_Resume
Sai_ResumeSai_Resume
Sai_Resume
 
Ibm innovate ci for system z
Ibm innovate ci for system zIbm innovate ci for system z
Ibm innovate ci for system z
 
A Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere ToolsA Software Factory Integrating Rational & WebSphere Tools
A Software Factory Integrating Rational & WebSphere Tools
 
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
Siemens OpenSOA - A Unified Communications Service Framework built on OSGi - ...
 
Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16Cooper, Mark Resume.Final.8.2.16
Cooper, Mark Resume.Final.8.2.16
 

Plus de kevin_donovan

Plus de kevin_donovan (20)

2016 it summit_accessibility_2016-05-24_standard
2016 it summit_accessibility_2016-05-24_standard2016 it summit_accessibility_2016-05-24_standard
2016 it summit_accessibility_2016-05-24_standard
 
Fphs informatics for 2016 it summit 160531
Fphs informatics for 2016 it summit   160531Fphs informatics for 2016 it summit   160531
Fphs informatics for 2016 it summit 160531
 
It summit 2016_combined
It summit 2016_combinedIt summit 2016_combined
It summit 2016_combined
 
It summit dataverse-bigdata-mercecrosas
It summit dataverse-bigdata-mercecrosasIt summit dataverse-bigdata-mercecrosas
It summit dataverse-bigdata-mercecrosas
 
Hms crash planitsummit2016
Hms crash planitsummit2016Hms crash planitsummit2016
Hms crash planitsummit2016
 
It summit facilitate-researchcomputing-mercecrosas
It summit facilitate-researchcomputing-mercecrosasIt summit facilitate-researchcomputing-mercecrosas
It summit facilitate-researchcomputing-mercecrosas
 
Lightbox ham it_summit_final
Lightbox ham it_summit_finalLightbox ham it_summit_final
Lightbox ham it_summit_final
 
It summit salesforce
It summit salesforceIt summit salesforce
It summit salesforce
 
Harvard it summit 2016 - opencast in the cloud at harvard dce- live and on-d...
Harvard it summit 2016  - opencast in the cloud at harvard dce- live and on-d...Harvard it summit 2016  - opencast in the cloud at harvard dce- live and on-d...
Harvard it summit 2016 - opencast in the cloud at harvard dce- live and on-d...
 
Fa qs 2016-04-21
Fa qs 2016-04-21Fa qs 2016-04-21
Fa qs 2016-04-21
 
Tlt and friends it summit 2016
Tlt and friends it summit 2016Tlt and friends it summit 2016
Tlt and friends it summit 2016
 
2016 it summit_accessibility_2016-05-24_standard
2016 it summit_accessibility_2016-05-24_standard2016 it summit_accessibility_2016-05-24_standard
2016 it summit_accessibility_2016-05-24_standard
 
Harvard phone it summit demo 06.02.16
Harvard phone it summit demo 06.02.16Harvard phone it summit demo 06.02.16
Harvard phone it summit demo 06.02.16
 
Phish, flop, or fine
Phish, flop, or fine Phish, flop, or fine
Phish, flop, or fine
 
Waldo Summit 2016
Waldo Summit 2016Waldo Summit 2016
Waldo Summit 2016
 
IT Academy at IT Summti
IT Academy at IT SummtiIT Academy at IT Summti
IT Academy at IT Summti
 
Mobile firstpresentation huit
Mobile firstpresentation huitMobile firstpresentation huit
Mobile firstpresentation huit
 
Saving our social_media
Saving our social_mediaSaving our social_media
Saving our social_media
 
Urc it summit-2
Urc it summit-2Urc it summit-2
Urc it summit-2
 
Tlt success
Tlt successTlt success
Tlt success
 

Dernier

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Dernier (20)

Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 

ESP POC Findings

  • 1. Enterprise Service Bus Proof of Concept To the service bus and beyond... Administrative Technology Services: Enterprise Applications
  • 2. Agenda – Lisa Justiniano
  • 3. Agenda  Goals  Objectives  Introduction to ESBs  Benefits  Recommended Solution  Impact  Timeline  Q & A 3
  • 4. Project Goal Problem: We keep “inventing” different ways to accomplish similar integration tasks, leading to a variety of software that needs to be maintained, supported and enhanced by staff who understand that particular technique. Solution: Provide standard ways to achieve these common integration tasks, thereby simplifying our software base and making it more easily maintainable and accessible by our partners in a consistent manner. 4
  • 5. POC Goals 1. Get experience with Enterprise Service Bus (ESB) software in general and with 2 or 3 specific ESB products. 2. Determine if an ESB could address our problem statement. 3. Identify an ESB that might best fits our needs. 4. Achieve these goals in three months (April – June, 2014) 5 POC Team • John Marks (GMAS Practice) • John Shen (PeopleSoft Practice) • Sreeni Gunnala (FinProc Practice) • Bill Brickman (HDW Practice) • Mike Thomas (Lead Architect) • Lisa Justiniano (Sponsor)
  • 7. Objectives • Adopt a standard, very high-level language for building integrations between systems. • Replace existing solutions that we use to integrate systems, currently written in a variety of languages including: – Perl – ksh, bash, awk, sed – SQL*Plus, SQL*Loader – Java • Stop implementing a different solution for the same general problem over and over. • Make our integrations between applications more resilient by reducing or eliminating timing dependencies. 7
  • 8. Objectives • Utilize a centralized solution in order to: – Reduce cost and time to production – Improve operational transparency – Reduce security complexity and overhead • Deploy a low cost, open and extendible solution. • Transition slowly and incrementally over time to avoid major disruption and allow measured adoption. 8
  • 9. Introduction to ESB Software - John Marks
  • 10. Introduction to Enterprise Service Bus Software • Two Logical Components 1. ESB 2. Message Queues 10 <from uri="file:/data/db/input"/> <setBody><xpath resultType="java.lang.String">/query/lastName</xpath></setBody> <to uri="sql:select count(*) as cnt from person where last_name=#?dataSource=myDS"/> <setBody><simple>${body[0][CNT]}</simple></setBody> <setBody><simple>${bodyAs(String)}</simple></setBody> <to uri="file:/data/db/output"/> • Sample Code: • monitor a folder • xpath extract • sql query • write result to file
  • 11. ESB Functionality • Host web services and call external web services • Monitor folders (local and remote) for incoming files • Transfer files to remote systems • Query and update databases • Query LDAP / AD directories • Send and receive JMS messages • Send and receive email • XML parsing, searching etc. • Call shell scripts, Java bundles • Do SNMP queries • TCP sockets 11
  • 12. Benefits – Bill Brickman
  • 13. Benefits • Faster to market. • More easily maintainable integrations: – Fewer lines of code. – Simple, URL-like, syntax. – Code is provided for us, we just write the configuration. • Integration libraries (DB, web services, LDAP & AD, etc.) means we can do things we wouldn’t have attempted before. • Transformations become possible, both in payload and in transmission protocol, without modifying the source or target systems. 13
  • 14. Benefits • To make both synchronous and asynchronous integrations easier. • To enable all applications to take advantage of asynchronous integration, meaning: – Applications are decoupled so dependencies are relaxed: • One application can be taken down for maintenance without notifying or affecting other applications. • Less worry about missed time windows (as with current batch transfers). 14 – Move from batch to transactional: fresh data gets to users faster.
  • 15. Benefits • Enforce generic and modular coding style – Many small reusable bundles of code. • Improve operational transparency – One place to see source of issues and usage trends. • Reduce security overhead – a common gateway where security is already controlled (ACLs and logins). • Centralized simplicity vs. point-to-point complexity
  • 16. Benefits 16 • Eliminate the “daisy chain” method of obtaining information so that: – Data gets to the end- users faster – Subscribers don’t need to know much about the source systems – There is a single source of “truth”
  • 18. Recommended Solution 18 We looked at several products: – Mule ESB – Apache ServiceMix – Red Hat jBoss Fuse three closely related and use ActiveMQ – Red Hat jBoss Fabric8 – Informatica Our recommendation: ESB Message Queue – Fabric8 for cloud deployment - ActiveMQ – ServiceMix for conventional deployment • Free, open source, standards compliant • Multiple vendors (Apache – free; Red Hat – QA and support) • All support fail-over and load balancing
  • 19. Recommended Solution – Deeper Dive • Fabric8 and Service Mix have common components: – OSGi Containers: Apache Felix, Apache Aries (deploy bundles) – Command line UI: Apache Karaf – Integration Library: Apache Camel (routes) – Web Services Library: Apache CXF 19 – Many more • Fabric8 adds cloud deployment features. • Developer (standalone) setup in 5-10 minutes.
  • 20. Recommended Solution – Deeper Dive • ActiveMQ JMS message broker – supports both kinds of message queues: • point to point • publish / subscribe – backed by our choice of persistence: Kaha DB, AMQ storage, JDBC (MySQL, Oracle, etc.) • If necessary we will evaluate alternatives to ActiveMQ like: – Oracle DB JMS implementation – Red Hat A-MQ 20
  • 21. Recommended Solution - Architecture Some possible configurations: A. Multiple message brokers, private to specific groups of applications. B. Single message broker, each application has its own ESB. C. Single ESB and single message broker. D. Shared message broker, ESBs private to groups of applications. 21
  • 22. Recommended Solution - Architecture • In the future we may need to move to a more complex architecture: – for performance reasons – to isolate populations (of developers, or systems, or even users) from one and other • Lowest cost and provides most benefit in terms of shared security, logging and auditing. • Reduced deployment time (infrastructure and ACLs are already in place). • Developer environment and deployables are the same regardless of which architecture we choose, so is possible to change architecture over time. 22 Our recommendation:
  • 23. Impact – Sreeni Gunnala
  • 24. Impact • Impact on ATS Developers: – New language, new deployment mechanisms. – First integration might be hard. Second one is easy. • Training materials will be available. – Reduction in labor and drudgery required to build integrations • Impact on ESB POC team: – Outreach: demos, brown bags, wiki, and training materials. – Best practices for error handling, logging, integrating with scheduling and monitoring tools, and security and authorization. – Build-out TEST and PROD infrastructure (including evaluating alternatives to ActiveMQ like Oracle DB’s JMS). 24
  • 25. Impact • Impact on Integration partners: – Will need to learn how to “subscribe” to a service – Will need to learn how to “consume” a service – Will need to assist with testing and they... – Will get new options for integrating with Enterprise Applications – Will see improved reliability. – Will see reduced time to market for new integration requests. 25
  • 26. Next Steps – Lisa Justiniano
  • 27. Next Steps • Immediately build our TEST environment • Each Practice (Enterprise Applications) will identify one or two integrations that they would like to deploy via this new ESB as part of their FY15 Innovation Goal – New integration – Existing Service – Change management implications • Confirm our architectural choices • Expand infrastructure to support load balancing and fail-over. • Build our PROD environment • Deploy and stabilize 27
  • 28. Next Steps 1.Prepare TEST Environ: months 0-4 – Install and configure bare-bones infrastructure – Determine and document best practices 2.Build Integrations: months 2-18 – Build and test internal integrations – Verify assumptions – Assess learning curve – Assess support issues – Confirm low impact and minimized risk 3.Rollout Pilot: months 8 –18 – Upgrade infrastructure for fail-over / load balancing – Build PROD environment – Deploy Pilot Integrations – Stabilize PROD environment and integrations – Refine training materials 4.Rollout to ATS: month 18 & beyond 28 Prepare Build Pilot Rollout
  • 29. Q & A
  • 30. Example Camel Route <!-- 1. Monitor folder for new files and use XPath get the surname to query from the XML input file. --> <from uri="file:/data/db/input"/> <setBody><xpath resultType="java.lang.String"> /query/lastName</xpath></setBody> <!-- 2. DB query. --> <to uri="sql:select count(*) as cnt from person where last_name=#?dataSource=myDS"/> <!-- 3. Extract count and convert to string. --> <setBody><simple>${body[0][CNT]}</simple></setBody> <setBody><simple>${bodyAs(String)}</simple></setBody> <!-- 4. write to file. --> <to uri="file:/data/db/output"/> 30
  • 31. Contact Lisa_Justiniano@harvard.edu ( x 60093 ) for more information.