Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/_main.inc.php on line 123

Strict Standards: Declaration of UserSettings::get() should be compatible with AbstractSettings::get($col_key1, $col_key2 = NULL, $col_key3 = NULL) in /home/pwsconsu/public_html/blog/inc/MODEL/users/_usersettings.class.php on line 202

Strict Standards: Declaration of UserSettings::set() should be compatible with AbstractSettings::set() in /home/pwsconsu/public_html/blog/inc/MODEL/users/_usersettings.class.php on line 202

Warning: Creating default object from empty value in /home/pwsconsu/public_html/blog/inc/MODEL/settings/_abstractsettings.class.php on line 221

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/MODEL/generic/_genericelement.class.php on line 112

Strict Standards: Declaration of Blog::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/collections/_blog.class.php on line 1034

Strict Standards: Declaration of BlogCache::option_list() should be compatible with DataObjectCache::option_list($default = 0, $allow_none = false, $method = 'name') in /home/pwsconsu/public_html/blog/inc/MODEL/collections/_blogcache.class.php on line 272

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/MODEL/collections/_category.funcs.php on line 390

Strict Standards: Declaration of Group::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/users/_group.class.php on line 420

Strict Standards: Declaration of User::dbdelete() should be compatible with DataObject::dbdelete() in /home/pwsconsu/public_html/blog/inc/MODEL/users/_user.class.php on line 1145

Strict Standards: Declaration of User::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/users/_user.class.php on line 1145

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/_misc/_resultsel.class.php on line 549

Strict Standards: Declaration of ResultSel::display_list_start() should be compatible with Results::display_list_start($detect_no_results = true) in /home/pwsconsu/public_html/blog/inc/_misc/_resultsel.class.php on line 48

Strict Standards: Declaration of ResultSel::display_list_end() should be compatible with Results::display_list_end($detect_no_results = true) in /home/pwsconsu/public_html/blog/inc/_misc/_resultsel.class.php on line 48

Strict Standards: Declaration of Filetype::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/files/_filetype.class.php on line 197

Strict Standards: Declaration of UserCache::option_list() should be compatible with DataObjectCache::option_list($default = 0, $allow_none = false, $method = 'name') in /home/pwsconsu/public_html/blog/inc/MODEL/users/_usercache.class.php on line 288

Strict Standards: Declaration of Comment::set() should be compatible with DataObject::set($parname, $parvalue, $make_null = false) in /home/pwsconsu/public_html/blog/inc/MODEL/comments/_comment.class.php on line 1164

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/MODEL/items/_itemlist.class.php on line 602

Notice: Array to string conversion in /home/pwsconsu/public_html/blog/inc/_misc/_misc.funcs.php on line 1253

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/inc/_blog_main.inc.php on line 306

Strict Standards: Declaration of ItemList2::query() should be compatible with Results::query($create_default_cols_if_needed = true, $append_limit = true, $append_order_by = true) in /home/pwsconsu/public_html/blog/inc/MODEL/items/_itemlist2.class.php on line 48

Notice: Array to string conversion in /home/pwsconsu/public_html/blog/inc/_misc/_misc.funcs.php on line 1253

Deprecated: Function ereg() is deprecated in /home/pwsconsu/public_html/blog/inc/_blog_main.inc.php on line 413

Warning: Cannot modify header information - headers already sent by (output started at /home/pwsconsu/public_html/blog/inc/MODEL/items/_itemlist.class.php:602) in /home/pwsconsu/public_html/blog/inc/MODEL/skins/_skin.funcs.php on line 71

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 528

Strict Standards: Declaration of code_highlight_plugin::AdminEndHtmlHead() should be compatible with Plugin::AdminEndHtmlHead(&$params) in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 559

Strict Standards: Declaration of code_highlight_plugin::SkinBeginHtmlHead() should be compatible with Plugin::SkinBeginHtmlHead(&$params) in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 559

Strict Standards: Declaration of code_highlight_plugin::PluginVersionChanged() should be compatible with Plugin::PluginVersionChanged(&$params) in /home/pwsconsu/public_html/blog/plugins/code_highlight_plugin/_code_highlight.plugin.php on line 559
The South East Asia SOA Weblog - Category: South East Asian SOA Amusements

Category: South East Asian SOA Amusements

06/04/09

Evaluating the Open Source SOA Opportunity

The solutions now offered in Open Source for implementing SOA have begun to provide extensive value but customers and systems integrators should be cautious and think strategically when assessing the value of these solutions. Projects such as WS02 and semi-open source (non-GPL, non-BSD, non-Apache) solutions such as Intalio BPMS are now comparable and even superior to many or even all their closed source counterparts. Considering some of the open source licenses offered by vendors it is necessary to take a cautious and well informed approach to open source offerings. Many of these solutions are contrived contributions that do not have a strong 3rd party developer community and are principally developed by one vendor with the dubious goal of proliferating their software and gaining the mind-share of the broader developer community. In my opinion the strategic focus of customers seeking open source solutions should be on those open source vendors licensing completely open and community driven software licenses along with support and subscription based licensing. In general customers should be cautions of vendors offering so called open source or community editions and a so called closed source enterprise edition. Watch this space for updates.


Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/skins/_feedback.php on line 102

05/21/08

Permalink 11:50:54 am, by Henry Chandra Email , 447 words, 3752 views   English (US)
Categories: South East Asian SOA Amusements

Do You Speak English?

Living in Singapore as a non-Chinese speaking Chinese descendant has given me a fair amount of inconvenience. Wherever I go, especially if I’m in Chinatown area, people try to speak Chinese with me. I have a fair knowledge of Chinese, but apparently it’s not enough to pick up with the conversation. So I usually reply by: “Do you speak English?” :D

It’s a common thing where people speak in the language they’re most familiar with. Technical people tend to speak with technical jargons and abbreviations, business people like to talk in business terms. This is a gap that happens in every industry, IT included. If you invite a technical guy to talk about SOA in front of business people, he will come up with technical description about SOA that includes at least 5 IT-specific jargons. This will result in more questions than understanding from the business people.

We need to bridge this gap. SOA is an architecture that helps business becoming more efficient and effective. It offers integration, orchestration and monitoring of IT infrastructure to support business goals. Business has to understand and direct SOA implementation, both business and IT have to work together to form the driving factor of SOA implementation.

As the major aspect of SOA is coarse-grained service composition, business should be shielded from the complexity of IT infrastructure and focus on making business process more efficient in order to generate more revenue for the company. IT has to speak of SOA in a more understandable English, with less IT jargon and better understanding of business domain.

In a recent event held by CTI (http://www.computradetech.com), I tried to explain SOA to a group of journalists from Indonesian media. I find the use of analogy helps a lot in explaining the concept of SOA. It helps non-technical people to get better understanding of the concept of integration, orchestration and monitoring of business processes and what benefits can be gained from implementing them. A recent article from Indonesian local media talks more about the event:

http://www.detikinet.com/index.php/detik.read/tahun/2008/bulan/05/tgl/13/time/182209/idnews/938967/idkanal/319 (the article is in Indonesian)

In short, it’s very important for us to speak and feel comfortable in the same language when we want to get an idea across. Speaking SOA in business terms to business people pretty much analogous to speaking in Chinese to an old Chinese lady selling Barley in People’s Park Center, Chinatown in the manner that we need to speak in a language that both parties understand. Fortunately for me, most Singaporeans speak English well to some extent, so I still can get my idea across although my Chinese is limited :).


Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/skins/_feedback.php on line 102

03/05/08

Permalink 10:18:43 am, by Henry Chandra Email , 1013 words, 8559 views   English (US)
Categories: South East Asian SOA Thought Leadership, South East Asian SOA Amusements

Service Oriented Orchard Road

I was sitting in the McCafe just outside of Shaw House in the corner of Orchard Road and Scotts Road the other day. I was watching the hustle and bustle of business alongside Orchard Road. Being one of the busiest roads in Singapore, Orchard Road is packed with malls, restaurants, hotels, cinemas, shops etc. which provide their services all through the day.

I spotted a couple with their youngster carrying several plastic bags marked with several shop emblems, I figured they might have been around shopping alongside the shopping district. They might have got some groceries in Carrefour, Plaza Singapura, then went to get some clothings in OG, then they might have stopped by for some meals in Orchard Hawker, it must have been a busy day for them, with a well planned itenary they have prepared before they disembarked the train in Dhoby Ghaut MRT station.

Then it just came to me me, the entire Orchard Road business is actually very similar to a gigantic Service Oriented Architecture infrastructure. With each of the merchants act as enterprise applications that provide “services” to the visitors who have a well planned “business process” of what to do there. That itenary of the couple I just spotted can be an instance of a business process that consumes the services of those merchants. and they may have a well planned sequence of how they want to spend their day so they can effectively spend their time during their visit there.

When providing services, these merchants may want to hide the complexities they need to go through to get the goods to their customers. They don’t want to show the complexity of importing them, they only need to show the condition of the goods and put price tags on them. This is analogous to the coarse-grained nature of enterprise services inside a good SOA infrastructure. A service should not be too fined-grain to expose the underlying technical complexities, it should focus on the business functionality instead.

The Orchard Road is the ESB that links the merchants together so they are accessible to the visitors. It’s an important piece of infrastructure the integrates the merchants so that they can do their business conveniently. New merchants can just open up and integrate easily into the infrastructure as long as it follows the standards agreed (e.g. keep things clean, pay the taxes, etc.). In SOA world, new applications can easily plug into the ESB as long as they are SOA-enabled.

There you go, you have an analogy of an ESB and a BPM in Singapore’s busiest shopping district. Looking at it from this angle, the literal description of “Service Oriented Architecture” makes perfect sense. But wait, there’s more to it than just an ESB and a BPM.

In order for the shops to do business, they have to agree on the interface they use. In real life, these interfaces may include an agreed price or the currency to use. In SOA, it may be the Web Service interface. They need to agree on the same WSDL so they can provide services to the business.

Orchard Road is also equipped with a street directory (you can find Orchard map in the Singapore Visitor Center), so that visitors can find where to get certain services they need. This is the job of a Service Registry to list the directory of available services from all of the applications connected to the bus.

The Dhoby Ghaut, Somerset and Orchard MRT stations are triggering points to the business processes. They bring in people to come and shop along the street. In SOA, these triggers can be incoming e-mail, incoming JMS message or a simple Web Service invocation that triggers the business process.

Now, what’s missing? I remember when I was in High School I used spend hours playing a simulation computer game called Transport Tycoon by Chris Sawyer (http://en.wikipedia.org/wiki/Transport_Tycoon). In the game, I get to run a transportation company that transport people and goods from one city to another. The game provides me with a bird’s eye view of my armada of my busses/trucks/trains/ships etc., so I can tell at any time where they are and how much load they are carrying and business they are generating.

It would be nice to have something like that in our Orchard Road scenario. So if we have one guy who’s supposed to get some clothes from Isetan and should’ve come back more than 3 hours ago, we can track where he is and why he is delayed. Is Isetan running out of clothes he is looking for, or is he merely lost? This is the role of a Business Activity Monitoring, to monitor the condition and health of business processes running in the BPM. BAM should be able to tell the management on the status and the latest snapshot of the corporate business. Many times this information is obtained from running processes inside the BPM.

I sipped my iced Latte and took some mental notes on those analogies I drew from a fine day on Orchard Road. I got this list:


BPM and ESB
Orchard Road

Enterprise applications
Shops, restaurants,
hotels, merchants etc. alongside Orchard Road

Coarse-Grained Business Functionalities/services
Various services
provided by the merchants

SOA-enablement
Compliance of
merchants to open their business in the district

WSDL
Agreement on how to
do business between service provider and consumer, e.g. price, currency to
use, etc.

Service Registry
Orchard street
directory

Trigger point of business processes
MRT Stations
alongside Orchard Road

BAM
God-like capability
to track one’s progress as he does his business inside the Orchard Road
district

One last sip, then I finished my drink and packed my stuff. I needed to cross the street to get some books from Borders in the Wheelock Place, I needed to “consume” the book store’s service. As the light turned green for the pedestrians, I thought to myself that I wished all SOA infrastructure initiatives can be successful implementations like the bustling and hustling Orchard Road of Singapore. Take care.


Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/skins/_feedback.php on line 102

02/10/08

Permalink 02:08:22 pm, by Henry Chandra Email , 629 words, 6604 views   English (US)
Categories: South East Asian SOA Amusements

Implement, celebrate and implement some more

I recently celebrated Chinese New Year with my relatives and I talked with some friends about how they celebrated their Chinese New Year with their relatives. The Chinese usually come together to meet at an elder’s house to pay respect to the elder and meet other members of the family. Frequent topic that comes out during the casual chit-chat is usually about how well one has been doing with one’s life so far. Some see this as an opportunity to show how their business has been going well for the past year, some brag about his new marriage is going very sweet and rewarding, some other talk about their children who recently get an award at school. Everybody wants to show how successful his life has been. Everybody needs to feel successful.

Somehow, I kinda reflect these things on an IT project. In a long-running IT project, it is important for the team to feel successful and feel that they are on the right track throughout the project, everybody needs to go home every once in a while with a smile and a peace of mind that he has accomplished his milestone for the day. This is more reason why I evangelize on iteration methodology, not only it helps the project to adapt the project’s trajectory often to accommodate any last-minute-but-extremely-important new business requirements, but these milestones also help the team to understand whether they are on track or not. If they are, they can feel more motivated knowing that they must have done the right thing, if not it gives them a chance to evaluate what’s wrong and rectify any problems they are facing.

The same applies in SOA. Many clients I talk with feel that embarking on an SOA journey is like sailing into the unknown with so many mysteries at sea and it will take a long time before they can see a new land. The manager feels like it’s a long and risky journey with his life (or in this case, his job) is at stake should he fails. The truth is, it doesn’t have to be like that. We can break down the projects into smaller bits, so it is easier for us to swallow. We don’t have to bit off more than we can chew. Take a couple of most critical (or easier, if you need some training ground) business processes and focus on automating those, conquer those before moving on to the next business processes. Integrate a couple or more of the systems required to support and automate the business processes then celebrate your first milestone of the project success. The key is to get started, so we can get the wheel rolling. The secret of getting ahead is getting started.

I would like to quote Zig Ziglar from his book “What I Learned on the Way to the Top":

“Nothing will ever be attempted if all possible objections must first be overcome”

Perhaps it’s time to change our way of thinking about long journeys (like implementing SOA in our company) and take the first step to make it happen. We don’t have to finish the big SOA project to automate the entire business processes in our company by the time the next Chinese New Year comes, but we can tell our relatives that we have helped automated the marketing and procurement business processes that save the company X amount of money, thus we are entitled to a promotion and we can drive in a new shiny sedan parked just outside. Now, that’s a success in motion.

And lastly, I would like to wish anyone in this blog a warm “Happy Chinese New Year"! May the New Year bring us all a lot of happiness, prosperity and joy. Gong Xi Fa Chai.


Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/skins/_feedback.php on line 102

Hosted by:
hosted by PWS Consulting

The South East Asia SOA Weblog

The intention of this blog is to collect thoughts on the issues, paradigms, process, vendors, solutions, project and any other item related service oriented architecture in South East Asia.


Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/plugins/_calendar.plugin.php on line 135
August 2017
Sun Mon Tue Wed Thu Fri Sat
 << <   > >>
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Search


Strict Standards: Declaration of ArchiveList::count_total_rows() should be compatible with Results::count_total_rows($sql_count = NULL) in /home/pwsconsu/public_html/blog/plugins/_archives.plugin.php on line 544

Deprecated: Assigning the return value of new by reference is deprecated in /home/pwsconsu/public_html/blog/skins/_linkblog.php on line 46

XML Feeds

What is RSS?

Who's Online?

  • Guest Users: 35

Deprecated: Non-static method Hitlist::dbprune() should not be called statically, assuming $this from incompatible context in /home/pwsconsu/public_html/blog/inc/MODEL/sessions/_hit.class.php on line 483