Enterprise Service Bus (ESB) is for creating services or only configuring/integrating existing services and applications? - esb

Enterprise Service Bus (ESB) is for creating services or only configuring/integrating existing services and applications ?
I am the beginner and in learning stage. as per my knowledge , If we have different systems like Database , Web Services , applications ...etc we can integrate through ESB , can we create new services from ESB ? instead of configuring existing servcies ?? Could you please explain with the real usage of ESB.

For general understanding, ESB (Enterprise Service Bus) majorly works as a middle-ware for communication between two or more applications. Each application is independent and yet able to have communication with other applications irrespective of difference in format etc. It's similar to Bus-like architecture which is used to integrate heterogeneous systems.
and for specifically your question, it can serve both purposes i.e. creating new services and configuring existing services/applications

Related

Why there is a requirement to integrate Hybris with AEM?

Both Hybris and AEM can build a website independently. Still why do we integrate them like Hybris PIM and AEM? What is the advantage of doing so?
Hybris is an eCommerce platform. You build your web store on top of it. It is quite a common practice to integrate different platforms for separation of concerns. In this case, you can have your Storage Management or Customer Relationship Management, developed in AEM and your Web Store in Hybris because Hybris is specialized in eCommerce and AEM is specialized in CRM, ERP and others.
One more note: PIM in Hybris stands for the Product section.

Any ESB frameworks which provides API to host a webservice dynamically

i am performing an R&D to check whether are there any open source ESB frameworks which provides the following features
1. API to host a SOAP webservice/consume a service by providing the required data. We are working on a tool to design webservices for our product and the metadata created from the tool would be input to the API. What we are looking is that the metadata generated should be hosted as a webservice instantly without restarting the ESB container.
2. API provided by the framework to define the count of a service executions performed.
3. ESB framework which supports versioning both in hosting a service and also consuming a service.
It would be very helpful if someone can provide a direction to such ESB frameworks
Talend ESB provides the functionality you described.
it can consume a WSDL (your metadata created from your tool) to quickly create a web service service. It is hot deployed into a Karaf container (i.e. do not need to restart the ESB container)
you can use built in logging or custom logging to count executions performed.
it can be hooked into git or svn for versioning.
There is a free version you can download here.
Here is a basic tutorial on the product which demonstrates a. ingesting a WSDL, b. hot deployment, and c. execution count (though it does not go into how to log that).

How to integrate with SAP B1 using DI Server integration?

We are trying to integrate SAP business one to our application using Java
Where can we find more information on it any Documents, API , tutorial, links, how to start/do it pointer towards the right direction will be appreciated.
SAP's Developer portal if more focused on SAP HANA - http://go.sap.com/developer.html?original_fqdn=developers.sap.com
We are considering to use DI server to integrate from the below list?
We cannot use SAP HANA platform.
-DI API,
-DI Server,
-B1WS,
-SAP Business One Service Layer
Thank you for your help and time
The Business One installer has an option to install an SDK component. This contains a CHM format help file containing information on DI-API, DI-Server and UI-API (but not Service Layer which is for Hana version only) as well as database schema. Also in the SDK are example projects in VB and C#.
If you are using DI-Server, calling the GetBusinessObjectXmlSchema method will get you the schema for individual object types such as business partners.
DI-Server is more lightweight but has less functionality than DI-API. It is more suited to transactional processing such as importing orders from a website.
If you do need to use Service Layer, it's functions are based on DI-API and there should be a lot of concepts that apply to both.
B1WS is not stable and has lots of bugs. DI Server is difficult to be integrated with. You could use DI API to do the integration but you have to implement the integration layer with .net platform. Since you need to make the communication work between SAP B1 and your JAVA application, here is another option which should be a feasible solution. Please check the following Python flask RESTful application which is top on SAP B1 DI to enable the RESTful capability for integration with SAP B1.
https://github.com/ideabosque/SAP-B1-RESTful
Here is the detail about how it could be used to integrate between eCommerce and SAP B1.
http://ideabosque.postach.io/post/how-to-use-sap-b1-restful-to-integrate-with-ecommerce-platforms
What is your workflow to integrate between SAP B1 and the JAVA application?
Bibo W.
Di_server is oriented mainly to web products, since it allows multiple connections with one license per server, while di-api is more oriented to desktop applications and uses licenses per user.
This means that with di-server you have a license and can connect multiple users simultaneously, while with di-api you have a license you can only connect one user at a time. Of course you can use a license and manage connection times to users, connected to one and making others wait. Or if you have more di-api licenses connect more users as many licenses as you have. The cost of a di-server license is high, but it is offset against the amount of licenses you would have to buy for di-api by users you want to connect to, if you need them all to be connected to SAP BO.

how to use FUSE ESB glue multiple applications

i have two applications, one deployed on server 1. the other deployed on server 2. application one want to post some date to application two, when application two process complete. it will send a event to application one, my customer suggest us to use FUSE ESB, how to implement it ,
any answer is appreciate
You can use messaging for that. Fuse ESB comes with ActiveMQ as the messaging solution out of the box. Then you can have application A send a message to a queue, which application B pickup, and send back a response on a response queue, for application A to receive.
You can also use other kind of transports such as HTTP, web service, TCP, and many many more.
Fuse ESB comes also out of the box with Apache Camel which has a lot of transports and components ready to use. See the list here: http://camel.apache.org/components
I suggest you read the Fuse ESB production introduction guide at: https://access.redhat.com/knowledge/docs/en-US/Fuse_ESB_Enterprise/7.1/html-single/Product_Introduction/index.html

Integration with Siebel On-Premise CRM?

Has anyone ever integrated an external web application with Siebel On-Premise CRM? Note that I'm not talking about Siebel On-Demand SaaS, but their behind-the-firewall product. Specifically, I'm trying to achieve two-way synchronization of CRM objects (contacts, accounts, sales opportunities) between my web application and a customer's internal Siebel setup. Are there any well-known techniques for initiating or receiving external connections from a Siebel On-Premise installation.
Siebel On-Premise offers a wealth of integration options. Start with Siebel Bookshelf and specifically Integration Platform Technologies: Siebel Enterprise Application Integration.
For your more static data, have a look at MDM. In this case refer to Siebel Master Data Applications Reference for Industry Applications.
Otherwise, webservices or Siebel's prebuilt ASI's offer alternatives.
Exchanging XML through webservices which map data to Siebel Integration Objects, which map to Siebel Business Components, is pretty much standard fare from the architectural point-of-view.
I had to intgrate an applicaiton with Siebel, and it did prove to be pretty difficult. In the end I had to use the CTI interface, designed for handling Telephone calls and routing them to siebel. I basically had to trick it into thinking it was receiving a call and piggy back the data onto this.
Obviously this would only work if you allready use the CTI interface and have it setup.
Worked on a couple of Siebel projects for my sins. Standard ways to interface include:
- Web Services (which I think MoMo was referring to) - you'll need to check with the Siebel app team to see if this is / can be turned on; also, the vanilla services might need to be modified to reflect any modifications to the Siebel data structures; even in Siebel this has become the standard way to interface between web apps
- Direct reads from the Siebel database tables (you can't write to them though for very special and sad reasons); fast and no mods required
- Direct writes to the Siebel EIM database tables (you can write to them and then get the Siebel Server to run a data-load job); fast, but needs the data-load job to run
- I think there is some JBeans support but I don't know if it works or not
Drop by the Oracle support site and look for a document called "Overview: Siebel Enterprise Application Integration"
OK - so you'll also need to remember that Siebel is a bit weird so you will need a Siebel dev to help you out with understanding what the hell is going on...