I was looking at Amazon’s new S3 Simple Storage Service this morning, and the final design principle caught my attention:
Simplicity: The system should be made as simple as possible (– but no simpler).
Words to architect by…
brenda michelson's technology advisory practice
I was looking at Amazon’s new S3 Simple Storage Service this morning, and the final design principle caught my attention:
Simplicity: The system should be made as simple as possible (– but no simpler).
Words to architect by…
I’m planning a day trip on Tuesday, April 4, to catch some sessions at the OpenSolutions World conference within a conference at LinuxWorld. The OpenSolutions conference covers some interesting topics higher up in the stack, with a fair amount of enterprise oriented sessions.
Sessions on my short list are:
The LAMP vs J2EE vs .Net Shootout – What Every Enterprise Developer Should Know
Leveraging Open Source to Build Web 2.0
SOA and Linux Reference Architecture: Open Source in the Enterprise
Open Source ERP & CRM – from oddity to mainstream
Amazon Mechanical Turk: A Web Services API for ‘Artificial Artificial Intelligence’
If you plan to attend and want to connect, shoot me an email: bmichelson at psgroup dot com
James McGovern, Enterprise Architect for The Hartford, and all around Enterprise IT Thought Leader, recently posted the characteristics of Enterprise Architecture 1.0 versus Enterprise Architecture 2.0:
1.0 2.0
Abstract Authority Community
Project Oriented Management Strong
Technical LeadershipComprehensive Documentation Working Software
Following a Plan Responding to Change
Governance Stewardship
Rationalization Innovation
Outsourcing Open Sourcing
NDA Declarative Living
Large Analyst Firms Small Analyst Firms
Management Leadership
ERP for IT Burndown
CMMi Agile Methods
Best Practices Practical Considerations
Reference Architectures Shared Vision
Time Accounting Functional Delivery Accounting
Buy vs. Build Buy vs. Build vs. Open
Project Oriented Service Oriented
Politics Diplomacy
Polarization Dialog
Buy-in Enlistment
Restrictions Rights
Cathedral Style Development Bazaar Style Development
Process People
This is a great list. I see a lot of synergy with my own thoughts on Business-Driven Architecture. In typical James fashion, he encourages the architect community to discuss and comment upon his list:
If others have insight into emergent behavior in this space, please do not hesitate to either leave a comment and/or respond from your own blog. We do not mature as a profession until we start having honest open conversations amongst each other…
With that, I offer a few additions:
EA 1.0 EA 2.0
Big Bang Incremental
Rigid Tolerant
Technology-Driven Business-Driven
And encourage readers to participate along with James, in advancing EA 2.0…
Yesterday, I wrote a “woe is me” post because I was having trouble invoking StrikeIron’s Reverse Phone Lookup from a PHP SOAP client. Here’s my problem
statement:
The challenge, at least for me, is the service requires a SOAP header for id/password. I was following the code sample and getting nowhere. Then, it (finally) occurred to me to run the code sample. Well, it doesn’t work either!
So, if anyone out there knows the secret to making this work – getting the service to recognize I actually have passed in a phone number — please let me know!
Well, it seems these four words: “at least for me”, were the key. On the reverse phone lookup, I was passing the phone number in an array, but come to find out; I needed an array for my array. On the code sample (batch send of SMS messages), I was short some PEAR Packages for XML Serialization.
So, that’s all good. I will definitely be able to leverage the StrikeIron Web Services in my “bus ride” work. But the cool thing – and therefore the post title – is how my (operator imposed) problems were resolved.
This morning, I received an email from a Senior Developer at StrikeIron, stating someone there saw my post, and they wanted to help me! How great is that? Two emails later, I was all set. Not only did StrikeIron create a new code
sample specific to Reverse Phone, they also debugged my code – thus the array in an array, and sent me all the PEAR download links.
Never once were my coding skills called out – other than by me! It’s been awhile since I coded for a living…
Not only does this experience show StrikeIron’s great customer (or in my case trial user) experience, but also how smart they are in monitoring the blogosphere.
Over the summer I wrote a Blogosphere Primer for PSGroup, and in the opening I wrote this:
“At a minimum, we advise our clients to find and listen to the blogosphere conversations about their companies, and their competitors.”
I think this is huge. If you aren’t listening for your own company (or person), get started. You can listen using simple query mechanisms (Technorati WatchLists, keyword and URL searches and feeds), or through sophisticated marketing intelligence services such as Umbria. [The Umbria execs briefed me back in December – impressive offering and vision.]
Lastly, and most importantly, many thanks to Ben for his help!
I had big blogging plans today…I was going to start posting on my impending “enterprise service bus rides”, and for good measure, I was going to prepare a “What is Business-Driven Architecture” post.
Instead, I’ve been trying to invoke StrikeIron’s Reverse Phone Lookup from a PHP5.1.1 client. The challenge, at least for me, is the service requires a SOAP header for id/password. I was following the code sample and getting nowhere. Then,
it (finally) occurred to me to run the code sample. Well, it doesn’t work either!
So, if anyone out there knows the secret to making this work – getting the service to recognize I actually have passed in a phone number — please let me know! I can see you all typing, “use a Java Client, or a REST interface!”
How did I get down this path? I’m looking for existing assets to use in my enterprise service bus rides, and I find the StrikeIron story intriguing. As for why I thought to test with PHP, using PHP for SOAP services when you aren’t messing with the header can be this simple:
<?php
$client = new SoapClient(“http://services.xmethods.net/soap/urn:xmethods-delayed-quotes.wsdl”);
print ($client->getQuote(“qqqq”));
?>
Oh well, tomorrow’s another day…
update 03-14-2006 8:02PM – My head hurts so much I forgot to attribute the code sample, it came from here.