Enterprise Service Bus - Service Catalog
Overview
Emory Healthcare has implemented and evolved a messaging, enterprise application integration (EAI), and service oriented architecture (SOA) infrastructure built on IBM MQ Series, IBM WebSphere, and internally developed foundation components. Historically Emory University typically developed point-to-point, batch file-based integration. In recent years Emory University has adopted OpenEAI as its integration method and uses SonicMQ, OpenEAI reference implementations, and other open integration services to implement its Enterprise Service Bus (ESB) infrastructure.
Emory prefers to integrate with vended applications using web services technologies and looks for vended systems that expose their data and logic using WSDL-described and REST web services. When Emory develops applications the logic and data of these systems are exposed as services in Emory's ESB infrastructure. These services can be exposed to other systems as WSDL-described web services. When vended applications provide no web services interface, Emory uses ESB connector methods and tools to expose the applications' data and logic using other application programming interfaces (APIs) the applications provide or their underlying data stores.
Both Emory University and Emory Healthcare register their web services in the Emory Web Service Registry (requires Emory authentication).
Terms
MOA - Message Object API, which is the business-object-oriented API. Message Objects are contained within the MOA builds. The jar files and MOAs are referenced for each Message Object in production.
Sample Message - An example of the message, in xml format, with some example data.
Subject Matter Expert - The person most knowledgeable about the application. This will more than likely be the developer, or perhaps the person responsible for creating the analysis template.
Java Docs - The documentation generated during the build of an application on the build and package server. It can be used to understand what classes, methods, and other information reside in a package.
Data Custodian - The person or group responsible for granting access to specific data.
Analysis Template - The design artifact that is created at the beginning of an Integration. It details what systems, applications, and message objects will be encapsulated in the integration, as well as any business rules.
Producer - An application that produces message objects for publication on the ESB.
Consumer - An application that consumes message objects from the ESB.
Applications - Java Applications that run in the ESB and can be Started, Stopped, and Scheduled through the Openii Console. These applications either produce or consume message objects to and from the ESB message transport queues and topics.
Systems - Any database, web service, or program (inside or outside of Emory) that contains data that is exposed or consumed by the ESB applications.
Integrations - The complex flow of data between systems through one or many applications over the ESB and its message transport as laid out in the analysis template.
Diagram of This site
Message Objects
Emory has defined the following message objects:
message objects | message object api |
---|---|
Emory MOA | |
Amcom MOA | |
Emory MOA | |
Amcom MOA | |
American Messaging MOA | |
American Messaging MOA | |
Blackboard MOA | |
Blackboard MOA | |
Blackboard MOA | |
Blackboard MOA | |
Emory MOA | |
Emory MOA | |
Emory MOA | |
Emory MOA | |
Emory MOA | |
Sciquest MOA | |
ClickCommerce MOA | |
Emory MOA | |
Amcom MOA | |
Emory MOA | |
edu.emory.Identity.ProvisionPerson | Emory MOA |
Amcom MOA | |
Amcom MOA | |
Sciquest MOA | |
Emory MOA | |
Emory MOA | |
Emory MOA | |
Emory MOA | |
Emory MOA | |
Exact Target MOA | |
Exact Target MOA | |
Exact Tatget MOA | |
Exact Target MOA | |
Exact Target MOA | |
Exact Target MOA | |
Zabbix MOA | |
Actsi MOA | |
Actsi MOA | |
PeopleSoft MOA | |
PeopleSoft MOA | |
PeopleSoft MOA | |
PeopleSoft MOA | |
com.oracle.peoplesoft.moa.jmsobjects.finance.v1_0.GM_AWD_LIST | PeolpeSoft MOA |
com.oracle.peoplesoft.moa.jmsobjects.finance.v1_0.GM_AWD | PeolpeSoft MOA |
com.oracle.peoplesoft.moa.jmsobjects.finance.v1_0.GM_PRJ_LIST | PeolpeSoft MOA |
com.oracle.peoplesoft.moa.jmsobjects.finance.v1_0.GM_PRJ | PeolpeSoft MOA |
com.oracle.peoplesoft.Finance.GM_PROP | PeolpeSoft MOA |
com.oracle.peoplesoft.Finance.GM_PROP_PRJ_LST | PeolpeSoft MOA |
com.oracle.peoplesoft.Finance.GM_PROP_PRJ_DTL | PeolpeSoft MOA |
com.oracle.peoplesoft.Finance.GM_PROP_WF | PeopleSoft MOA |
com.oracle.peoplesoft.Finance.SPEEDCHART | PeopleSoft MOA |
com.oracle.peoplesoft.moa.jmsobjects.elms.v1_0.LM_PRSN_CERT | PeolpeSoft MOA |
com.orgsync.moa.jmsobjects.orgdata.v1_0.OrgPerson | OrgSync MOA |
edu.emory.sph.WebEase.Annoucement | WebEase MOA |
edu.emory.sph.WebEase.AuthenticUser | WebEase MOA |
edu.emory.sph.WebEase.FrequentlyAskedQuestion | WebEase MOA |
edu.emory.sph.WebEase.LocalizedText | WebEase MOA |
edu.emory.sph.WebEase.LogEntry | WebEase MOA |
edu.emory.sph.WebEase.Module | WebEase MOA |
edu.emory.sph.WebEase.Page | WebEase MOA |
edu.emory.sph.WebEase.PatientMedication | WebEase MOA |
edu.emory.sph.WebEase.PatientMedicationEvent | WebEase MOA |
edu.emory.sph.WebEase.PatientMedicationEventCount | WebEase MOA |
edu.emory.sph.WebEase.PatientModuleStatus | WebEase MOA |
edu.emory.sph.WebEase.PatientProfile | WebEase MOA |
edu.emory.sph.WebEase.PatientSeizureDescription | WebEase MOA |
edu.emory.sph.WebEase.PatientSeizureEvent | WebEase MOA |
edu.emory.sph.WebEase.PatientSeizureEventCount | WebEase MOA |
edu.emory.sph.WebEase.PatientSeizureType | WebEase MOA |
edu.emory.sph.WebEase.PatientSurveyResponse | WebEase MOA |
edu.emory.sph.WebEase.Phase | WebEase MOA |
edu.emory.sph.WebEase.PossibleSurveyResponse | WebEase MOA |
edu.emory.sph.WebEase.PrivacyPolicy | WebEase MOA |
edu.emory.sph.WebEase.Rating | WebEase MOA |
edu.emory.sph.WebEase.Section | WebEase MOA |
edu.emory.sph.WebEase.SummaryReport | WebEase MOA |
edu.emory.sph.WebEase.Survey | WebEase MOA |
edu.emory.sph.WebEase.SurveyQuestion | WebEase MOA |
edu.emory.sph.WebEase.TermsOfUse | WebEase MOA |
edu.emory.sph.WebEase.TermsOfUseAgreement | WebEase MOA |
edu.emory.sph.WebEase.UserAccount | WebEase MOA |
edu.emory.sph.WebEase.UserFeedback | WebEase MOA |
edu.emory.sph.WebEase.UserNotification | WebEase MOA |
edu.emory.sph.WebEase.UserPermission | WebEase MOA |
edu.emory.sph.WebEase.UserSecurityQuestion | WebEase MOA |
edu.emory.sph.WebEase.UserSession | WebEase MOA |
edu.emory.sph.WebEase.UserSupportRequest | WebEase MOA |
edu.emory.sph.WebEase.ValidDeliveryMethod | WebEase MOA |
edu.emory.sph.WebEase.ValidFrequency | WebEase MOA |
edu.emory.sph.WebEase.ValidLocale | WebEase MOA |
edu.emory.sph.WebEase.ValidMedication | WebEase MOA |
edu.emory.sph.WebEase.ValidPattern | WebEase MOA |
edu.emory.sph.WebEase.ValidPermission | WebEase MOA |
edu.emory.sph.WebEase.ValidReferral | WebEase MOA |
edu.emory.sph.WebEase.ValidRole | WebEase MOA |
edu.emory.sph.WebEase.ValidSecurityQuestion | WebEase MOA |
edu.emory.sph.WebEase.ValidSeizureType | WebEase MOA |
edu.emory.sph.WebEase.ValidStressor | WebEase MOA |
edu.emory.sph.WebEase.ValidTrigger | WebEase MOA |
edu.emory.sph.WebEase.ValidUserFeedbackType | WebEase MOA |
edu.emory.surgery.MassiveTransfusionProtocol.MtpCaseRecord | Mtp MOA |
edu.emory.surgery.MassiveTransfusionProtocol.UserPasscode | Mtp MOA |
com.rave.SiteAdmin.MobileCarrier | Rave MOA |
com.rave.UserManagement.ListMemberships | Rave MOA |
com.rave.UserManagement.RaveUser | Rave MOA |
Applications
The applications that implement these integrations are:
Applications
| ESB Action | Message Objects | WSDL Generated | WSDL Location | Subject Matter Experts |
---|---|---|---|---|---|
PeopleSoftServiceFs | Point2Point Consumer | com.oracle.peoplesoft.moa.jmsobjects.finance.v1_0.GM_PROP | Kelly Bray | ||
PeopleSoftServiceSa | Point2Point Consumer | com.oracle.peoplesoft.moa.jmsobjects.student.v1_0.CLASS_TBL | Kelly Bray | ||
RaveConnector | SyncConsumer Point2Point Consumer | edu.emory.moa.jmsobjects.identity.v2_0.FullPerson com.rave.moa.jmsobjects.siteadmin.v1_0.MobileCarrier | NA | Kelly Bray | |
AMCOM Service | SyncConsumer
SyncProducer | edu.emory.moa.jmsobjects.finance.v1_0.SmartKey com.amcom.moa.jmsobjects.paging.v1_0.Event | NA | Kelly Bray | |
FullPersonRequestProxy | Point2Point Consumer | edu.emory.moa.objects.resources.v2_0.FullPersonQuerySpecification | Yes | dev | Kelly Bray |
Identity Service | SyncProducer | edu.emory.moa.jmsobjects.identity.v2_0.Employee | NA | Kelly Bray | |
Identity Service 2 | SyncProducer | edu.emory.moa.jmsobjects.identity.v2_0.FullPerson | NA | Kelly Bray | |
EmoryCommonsConnector | SyncConsumer | edu.emory.moa.jmsobjects.identity.v2_0.FullPerson | NA | Kelly Bray | |
IdmEventAggregator Connector | SyncConsumer | edu.emory.moa.jmsobjects.identity.v2_0.FullPerson | NA | Kelly Bray | |
DataWarehouse Connector | SyncConsumer | com.sciquest.moa.jmsobjects.procurement.v1_0.Invoice | NA | Kelly Bray | |
Sciquest Connector | SyncProducer | com.sciquest.moa.jmsobjects.procurement.v1_0.Invoice | NA | Kelly Bray | |
Blackboard ConnectorV2 | SyncConsumer | edu.emory.moa.jmsobjects.identity.v2_0.Person | NA | Julia Leon | |
Service Now Gateway | SyncConsumer | edu.emory.moa.jmsobjects.identity.v2_0.Person | NA | Kelly Bray | |
ExactTarget Service | SyncProducer | com.exacttarget.moa.jmsobjects.email.v1_0.TrackingEvent | NA | Julia Leon | |
eIRB Connector | SyncPublisher | com.clickcommerce.moa.jmsobjects.research.v1_0.IrbProposal | NA | Kelly Bray | |
MySoft Connector | SyncPublisher | edu.emory.moa.jmsobjects.finance.v1_0.SmartKey | NA | Kelly Bray | |
ACE Connector | SyncConsumer | com.exacttarget.moa.jmsobjects.email.v1_0.TrackingEvent | NA | Julia Leon | |
HL7 Message Receiver Service | SyncConsumer | org.hl7.moa.jmsobjects.model.v1_0.Message | NA | Kevin Chen | |
MessageDumpService | SyncConsumer | org.hl7.moa.jmsobjects.model.v1_0.Message | NA | Kevin Chen | |
ESB PACS Service | SyncPublisher | org.nema.moa.jmsobjects.services.v1_0.Dicom | NA | Kevin Chen | |
Authorization Service | Point2Point Consumer | org.any_openeai_enterprise.moa.jmsobjects.services.v1_0.Authorization org.any_openeai_enterprise.moa.jmsobjects.services.v2_0.Authorization | Yes | dev qa prod | Peter Day |
Center for Health Discovery Portal Service | SyncPublisher | edu.emory.predictivehealth.moa.jmsobjects.chdportal.v1_0.hl7_oru | NA | Kevin Chen | |
RAPID Service | SyncPublisher | org.actsi.moa.jmsobjects.rapid.v1_0.AdministrativeGender | NA | ||
eCOI Service | SyncConsumer | edu.emory.moa.jmsobjects.sponsoredprograms.v1_0.ExtramuralProposal | NA | Kelly Bray | |
AmcomEsdConnector | SyncPublisher | edu.emory.moa.jmsobjects.telecom.v1_0.Specialty | NA | Kevin Chen | |
AMPUp | SyncConsumer | Consumes: | NA | Kevin Chen | |
HipaaAuditLog Service (HALS) | Point2Point Consumer | Consumes: | Yes | dev qa | George Wang |
Mppi Service | Point2Point Consumer | Consumes | Yes | dev | Circe Tsui |
WebEase Service | Point2Point Consumer PubSub Consumer | Consumes:
| Yes | dev qa | Tod Jackson George Wang |
Mtp Service | Point2Point Consumer | Consumes: edu.emory.surgery.moa.jmsobjects.massivetransfusionprotocol.v1_0.MtpCaseRecord | Tod Jackson George Wang | ||
Directory Service | Point2Point Consumer | Consumes: edu.emory.moa.jmsobjects.identity.v1_0.DirectoryPerson | Yes | dev qa prod | |
Directory Internal View Service | Point2Point Consumer | Consumes: edu.emory.moa.jmsobjects.identity.v1_0.DirectoryPerson | Yes | dev | |
Service Now Incident Service? | Point2Point Consumer | Consumes: com.service_now.moa.jmsobjects.servicedesk.v1_0.Incident | Yes | dev qa prod | |
Emory Building Service | Point2Point Consumer | Consumes: edu.emory.moa.jmsobjects.facilities.v1_0.EmoryBuilding | Yes | dev qa |
Systems
Applications or systems for which integrations have been implemented to date are:
Systems | Data Custodians |
---|---|
PeopleSoft (Oracle) Financial System | Edie Murphree |
PeopleSoft (Oracle) Student Administration System (OPUS) | Beth Broyles |
PeopleSoft (Oracle) Human Resources | Mary Smith |
Blackboard | Kim Braxton |
Emory Shared Data | Anne Marie Alexander |
Service Now | Al Shelton |
ExactTarget | Megan Turk |
Advance Community at Emory (ACE) System (Sungard Advance) | Megan Turk |
Sciquest | Edie Murpree |
Emory Data Warehouse | Amy Dean |
eCOI ConflictOfInterest | none (consumer) |
Click Commerce | |
Emory Mobile (Blackboard Mobile) | Beth Broyles |
AMCOM | John Hawkins |
MySoft | Becky Hancock |
American Messaging Pager | John Hawkins |
Directory Server | |
Campus Map | |
ACTSI RAPID Application | |
IdentityService2 | Mary Smith, Beth Broyles |
Zabbix | Paul Petersen |
ServiceAvailability | Paul Petersen |
HipaaAuditLog Service (HALS) | George Wang |
Rave | John Hawkins |
Integrations
The analysis templates used to document and provide requirements for these integrations are available here for review and comment (a blank template can be found here). These require Emory authentication.
Integrations - Analysis Templates |
---|
ServiceAvailability |
Rave |
For an overview of the deployed ESB/SOA environments, see the environment documentation maintained by the UTS Integration Group. These require Emory authentication.
Web Services
Web Services Registry
Web Services Documentation
Reference Data
Reference data is frequently used support data. This is just a list of services and data listed above, but it is commonly used support data that many applications use frequently and we are listing these here for convenience. If you know of data that you use frequently in multiple applications, please list it here. Also, if you have a need for reference data that would be used in multiple applications, please list it here.
Reference Data Purpose | Example | Provider | Object and Operations | Implemented |
---|---|---|---|---|
Emory Public Directory Information | Need to query for information available in Emory's public directory. For example, provide a mobile application view of Emory directory data | Directory Service | DirectoryPerson.Query-Request | Yes (dev only) |
Emory Private Directory Information | Need to query for information available in Emory's private directory | Directory Service | DirectoryPerson.Query-Request | No |
Emory Employee Identity | Need to query for authoritative Emory Employee Identity information with identifiers and primary organizational affiliations in ESD. This query is typically performed with identifying information obtained from the local system or a directory service query. | Identity Service (ESD) | Employee.V2.Query-Request | Yes |
Emory NetworkIdentity Identity | Need to query for authoritative Emory Network Identity (both University and Heathcare) information with identifiers in ESD. This query is typically performed with identifying information obtained from the local system or a directory service query. | Identity Service (ESD) | NetworkIdentity.V1.Query-Request | Yes |
Emory Person Identity | Need to query for authoritative Emory Identity information with identifiers and affiliations in ESD. This query is typically performed with identifying information obtained from the local system or a directory service query. | Identity Service (ESD) | Person.V2.Query-Request | Yes |
Emory SponsoredPerson Identity | Need to query for authoritative Emory Sponsored Person information (sponsored for active directory access) with identifiers and sponsoring organizational affiliations in ESD. This query is typically performed with identifying information obtained from the local system or a directory service query. | Identity Service (ESD) | SponsoredPerson.V2.Query-Request | Yes |
Emory Student Identity | Need to query for authoritative Emory Student information with identifiers and academic career in ESD. This query is typically performed with identifying information obtained from the local system or a directory service query. | Identity Service (ESD) | Student.V1.Query-Request | Yes |
Emory FullPerson Identity | Need to query for the full set of authoritative Emory Identity information (Employee, NetworkIdentity, Person, SponsoredPerson, Student) for people with active accounts with identifiers and affiliations in ESD. This query is typically performed with identifying information obtained from the local system or a directory service query. | Identity Service2 (ESD) | FullPerson.V2.Query-Request | Yes |
Emory SmartKey Information | Need to query for SmartKeys which allow telecommunications charges. | MySoftConnector | SmartKey.Query-Request | No (syncs only) |
How to Start Integrating with ESB message objects
Consuming Messages
Decide What Data
- Look over the enterprise objects and see if they have the data required
- If the data is not sufficient, a work request will need to be opened in Service Now for the Integration Team.
Decide What Actions
- Look over the enterprise object page and verify all required actions are supported.
- If the actions supported is not sufficient, a work request will need to be opened in Service Now for the Integration Team.
Request Data Access
- Fill out a data access form and open a work request to be forwarded to the data custodian.
- Data Access Procedures
- Open work request in Service Now
Request Queue or Topic
- Fill out a Queue or Topic create form and open a work request to be forwarded to the ESB Administrators.
- Sonic Access Request
- Open work request in Service Now
Where to Access Data
- The following may exist already, and can be obtained from the Sonic Administrator, it may come from the request filled out above:
- Sonic ID (Principal)
- Sonic Password (Sonic Administrator will provide)
- Sonic Connection URL (Sonic Administrator can will provide)
Sample Code
add detail here
More Information
add detail here
Publishing Messages to ESB
Under development
3 Comments
Unknown User (swheat)
This is a sample comment...however, I would also like to know what objects we are exposing to Blackboard and where the Blackboard messages objects are (I think they are missing from) this list. Thanks!
Kelly Bray
Working on this now.
Unknown User (legord2)
Switched to "table-plus"