Posts

Showing posts with the label integration

Using Astah to Understand & Appreciate Published Standards

Image
I'm usually a visual person, hence reading and understanding standards (implementation protocols, etc.) can be quite challenging. In trying to understand and appreciate OIDC (Open ID Connect) from the OIDC website , I used Astah to model my understanding and summarised by understanding in a couple of diagrams. What was more challenging is that there are several flows in OIDC and each can be slightly different. My goal is to not only understand the protocol, but to appreciate how it is applied in my implementation. Fortunately, Astah makes it relatively easy for me to create high-level models that might not have any implementation elements. Remember I'm not implementing OIDC protocol and am modeling the flows in order to better understand them. As such, I'm not exactly interested in creating UML Classes, writing Operations, Attributes, Associations, etc., other than what is instrumental in creating the desired diagrams. Some of the Sequence Diagrams are here: Authorizatio...

Setting Up a Reverse Proxy (HTTP Gateway) using Apache

Problem/ Issue I recently had the opportunity to look into the following issue: the organisation, like most others, have segregated the network into at least 2 zones (DMZ and internal) the DMZ hosts the web servers while the internal zone hosts the application and database servers a requirement is that an application in the internal zone needs to access a web service in the public internet allowing direct HTTP traffic from the internal zone to the public network is not an option With the above constraints, a forward proxy could have been an option. However, the internal-zoned application may not be able to support a forward proxy. As such, a reverse proxy would be the solution. Existing Solution The existing in-place solution follows: host a custom-written web service (acting as a proxy) in the DMZ to connect to the public network. The application in the internal zone will connect to the DMZ-hosted web service This custom-written web service will then connect to the pub...

HTML-scraping

Ever had a need to process pages from a website that does not support any form of structural system integration like Web Service, RSS, REST, etc. The only information available is ill-formed HTML; not even XHTML!?I have always been using HTML Agility for the .NET platform to perform such HTML screen-scraping. Recently, found a number of Java equivalent toolkit to do the same: TagSoup JSoup HTML Parser HTML Cleaner NekoHTML Found this site that collects various toolkits for this purpose here .

Making Website Integration More Robust

Take the example of our customer-fronting website that requires integration to a 3rd party payment gateway. We have a situation where there are 2 distinct websites, one dependent on the other to conclude the business process/ flow as well as some form of SLA from the 3rd party. In essence, we do not trust the 3rd party payment gateway with our livelihood. How then do we integrate the websites together? Here are some of the items we desire: the 3rd party payment gateway appears integrated to our website security and regulatory requirements are met customers enjoy the entire website interaction integration failure are monitored or at a minimum, logged customers know what to do in the event of a failure (recovery or mitigation) The current situation is that: it is relatively easy to integrate with the 3rd party payment gateway, but the payment gateway further integrates with other banks’ websites for 3DS Assuming such a web flow: our customer-fronting website (order informatio...

Integration Strategies

Types of integration Data-level Share data; not behaviour Minimal change (if any) to both source and target systems Can be database or file-based ETL File-data transfer Direct database access Bypass business logic (may need to duplicate) Overall data integrity may be compromised If writable, may lead to data corruption and referential integrity violations Capabilities include Data transformation Data validation Data access Schema definition Mapping Schema recognition Application-level Share functionality – business logic Based on API Composite applications Business Process level Share business processes Specified using BPMN Glued together using BPEL(4WS) and BPML Start by defining business processes; then specify logical integration within it Capabilities include: Rules processing Business transaction management Workflow Orchestration Event processing Schedule Presentation Share views Using a portal Non-invasive Application Integration methods Web services - Applicatio...