My Photo

From my bookshelf

IT Regional Architect Conference. Feedback from Atlanta.

As I announced in the past I've attended the conference in Atlanta. It was the first event of a series in US and the organizers plan to have it annually in the same format. Below is my impression.

First off, it was a great success! To my knowledge it's the only conference which is vendor or technology agnostic. Not only it is cross-platform and cross-technology it's focused on the architecture issues and built for architects. Not developers or sysadmins but enterprise, infrastructure, and software architects.

Secondly, for a local conference (by the way, participation cost is just $500 which is absolutely exceptional for such events) there were about 250 participants that again demonstrates success of the first event. It was quite an efficient networking event to rub shoulders with local folks.

Thirdly, the keynotes speakers were real stars and they rocked! Angela, Mike, Scott, and Rick all presented a very valuable topics and were great speakers. A very sound composition of the speaker - another complement to the organizers.

Lastly, I advise you to go to the next event in Atlanta or other cities and wish IASA to rise the bar next time bringing new speakers and more participants.

Technorati tags: IASA, software architect, MDM

Come to a "IT Architect Regional Conference 2007"

Image_gallery








International Association of Software Architects hosts a series of IT Architect Regional Conferences at Atlanta, GA, San Diego, CA, and Washington, D.C on Sept 13-14, Oct 15-16, and Oct 8-9 correspondingly. The organizers' idea is instead of having one expensive national event leading to substantial travel expenses to host the conference three times in the country attracting much more visitors. Scott Amber gives the key notes on the conferences which makes it automatically as of a serious caliber.

You can click on the charter of your geographical preferences above and check the agenda. Many great speakers from the industry (software houses, consultants, and customers) present at the event and you'll find it difficult to pick up a topic of your interest from four concurrent tracks.

I'm presenting MDM at Atlanta and the capital - MDM "MDM - where business meets IT". I'm planning to talk about the problems MDM comes to resolve, why it's vital for today's business to address them, and what make an enterprise want to buy a ready solution instead of developing an in-house one. I'm planning to split marchitecture and tarchitecture as 1:5 (at least) so the geeks in the audience should not get too bored with ROI, TCO, and other exciting stuff.

Come to listen lead industry architects, learn something new, and rub shoulders with you colleagues. It's gonna be fun.

Technorati tags: IASA, software architect, MDM

Meeting at TechEd's

SAP TechEd '07: I'll be there! Although I've published my near travel plans now can't miss an opportunity to put a cool banner on the blog.

See you in Vegas and Munich.

Technorati tags: SAP, Teched

    

SOA is around us

I've been running recently across a couple of discussions on what SOA is and thought it would make sense to re-post my old corporate blog on the topic here. This time I just change SOA's old name - ESA - to the new one.

A few days ago I went to my DMVS (department of motor vehicle) center to get my driver’s license. I went to the closest exam center, which is in Norcross, to take a written and hopefully a road test. For those who’ve never been there, the visitor’s area is a big hall with 20 counters, 3 big screens with numbers running on them, many seats and hundreds of visitors. I was told it serves between 400 and 700 people a day. Staying in the line hearing almost incessant announcments and looking at visitors and inspectors dashing about I had a firm sensation that all this very much reminded me something. Guess what?! – right, SOA! I was looking at every element of the interaction and more and more was becoming sure that this is quite a strong implementation of SOA, not in software but our real life. Let me explain.

As you get to the center a big guide sign meets you: “ALL visitors to the info desk!”. This is a Dispatcher-Controller pattern. The Dispatcher lady accepts all visitors and after giving basic instructions (“we accept only cash!”) and checking your docs (“where is your address proving bill?”) redirects you to a queue and assigns you a unique (ordinal) number. By the way, there are two-three ladies at the desk so there is scalability and availability in place! After you get your number you’re put in one of about a dozen virtual queues (or workflows) for your needs: passing tests, changing address, getting license back after revoking and so on. Every such purpose has its own workflow with special rules residing to it.

So each visitor becomes an “object” routing between different services according to a specific workflow and notified by proper messages. Such coordination is hidden from visitors but happens "behind the scenes" in a workflow managing system. This is the Dynamic Router pattern – the heart of the system. This Dynamic Router knows where to send you on the next step of your workflow depending on your results of the previous one. You’re advancing from service to service (from counter to counter) when your number is announced and it appears on those big screens I mentioned before. What about services? They’re supplied by brave DMVS employees standing at the 20 counters. They’re grouped by the functionality they supply and serve the next “object” in a service queue. For instance some fill out your form and verify the docs you brought. Others take your signature, fingerprints, and your photo. A third performs vision checks and so forth. Every service knows how to carry out its own operation. It neither cares where you came from nor does it know where you will go after. All it knows is to double check your “input parameters” perform its operation then “return some result” and finally “log” it to the system.

What is cool is you don’t worry about where to go next, either! The Dynamic Router service takes care about you. In practice you wait for your number to appear on the screens showing you the next counter to attend and announced by an electronic voice (“number A485 at counter 17”). You’re sitting and waiting. Now what about collision resolving? What if you lost your number? What if you missed your queue? In such a case you come to the Dispatcher lady which enqueues you again to the workflow hopefully to the point right after the last stage you successfully have passed. Big hint: messages can expire. A friend of mine, after successful passing her driving test, couldn’t wait to get the license and took all the documents home. When she came back a day after, the Dispatcher lady didn’t allow her to enter the queue on the last stage. Sorry, Sarit:-( So she had to start her workflow from scratch and thankfully she passed it again (now to the end of the workflow:-)

What about scalability availability and performance, you’ll ask? As I said every service is scalable over several counters. And hence available. Performance at Norcross was quite impressive (I came there at 10.30am successfully passed my both tests and at 1.30pm went out with my license in hands). Everything was functioning fine and fast. I like our projects implemented in a similar way:-) Not that I wish you to attend a DMVS center. But if you have to, pay attention to this brilliant SOA implementation and good luck with your tests!

Technorati tags: SOA, ESA, enterprise, software

Great extention for gmail addicts

I ran today across this nice greasemonkey script for gmail. Prior to that I used greasemonkey only for Amazon: for checking book availability in my local library and calculating prices of used books. Being a huge fan of gmail and even a bigger fan of hot keys (vi is the only tool left from my pre-PowerPoint ages of developer) I found the gmail extensions very useful.  Install the script and click H to see the full list.

The best of my first 92 blogs

I'm reaching the first hundred of blogs (this one is the 93d) and I want to group and re-publish links to the ones I like most. I hope you've found them interesting too.

On entrepreneurship:

On career planning

On managing

Random ideas

Blogging with different pace during this year and making a blog not focusing on a particular topic I've somehow got a small but firm readership and I want to thank you all for that. Hope you'll continue enjoying reading my second hundred of posts too.

What/Who SalesForce enforces by Apex?

The news that SalesForce.com announced its new language Apex has been echoed in the blogosphere for last week and the idea of yet another language has gained lots of criticism. People chew over the last step of the king of the SaaS world from all possible sides: how innovative it is, how significant it is, how known and repetitive (hinting to the ABAP success), and  even how SAP reacted to the news. I didn't read everything in the net on the topic but the ones, apparently, forget to answer the question why SF had no choice but to come with such an idea and what long-term targets SF sets for its business. I'll try to share with you my bet here what I suspect SF had in mind when it made this decision. Disclaimer: This blog, as all others published here, represents only my personal opinion and has nothing to do with SAP:-)

SF started its business and has been trumping its competitors with the SaaS philosophy. The impressive achievements of 0.5M users and 400 applications (regardless what we count as an application) makes the big guys (on-premise enterprise software vendors) nervous but, at the same time, leaves them and opponents of the on-demand application a few strong arguments why the SaaS model can't be accepted by some companies (at least for some applications and markets). I think the major obstacles on the way of a SaaS provider to grow are: 1) low customizability - I would call what they offer rather configurability, 2) high TCO for a big number of users, and 3) resistance of customers to deploy their data and/or processes outside of their data centers.

To address first problem a SaaS vendor has to equip its partners by some mighty tools. Nobody started a controversy on the reason for a language. But all platform providers have eventually to lock users by something: proprietary language, custom extensions, out-of-spec improvements - there must be a catch to not to let the users easy to go. SF decided to develop its own language (I doubt it will be as complex and powerful as Java or ABAP) but that's the ultimate level you can offer the lock mechanism to build on. It's always a trade-off between high bets with high risks and low bet with low risks (in case of SF to extend or directly use any of the widely adopted languages but not to gain a strong and short leash for the users). I don't want to discuss here merits and demerits of Apex and don't think it's really important. The step SF undertook to develop, promote a new language and empower the ecosystem (concurrently building it) deserves laudable comments from a business point of view. We'll see soon how successful its adoption will be.

To resolve the last two problems (high cost of ownership for a big user base and out-of-house deployment) SF eventually will need to offer on-premise solutions. Although they build the success on the anti-in-house applications thesis the pie of in-house developed applications is huge not to dream of it. I think it will be a hybrid model of both options where a dominant role of SF will maybe remain on the hosted side. But similarly to our move with CRM on-demand and Oracle's on-demand solutions SF and other hosting vendors will have no choice but to invade our patrimony of in-house deployment and start selling their platforms with a "buy-own-and-maintain" principle. Without a powerful [enough] language even to dream about that is a sing of a disease.

To reiterate, I think SF has a very ambitious targets on scaling up their partner ecosystem and building together with them new solutions for in-house deployment. The current success of 0.5M users may vanish as these users are not locked by SF's services at all. They got them fast and easy and they can lose them with the same epithets. To build a new level of success and become a player equal to the big guys they must accommodate the needs of customers equal to the big guys' ones. Without a powerful and locking mechanism it's impossible.

The greatest FF plugin. Ever!

Have you seen it? AllPeers is a new extention to Firefox allowing to share any files with anybody from anywhere! Can you imagine that now you can send anything to your peer without network restrictions? Of course, your peers have to use the same network. No VPN nightmares? No limitations on file size?

I've just installed it and haven't played much but it looks very intriguing. Interesting to see how it works behind the extention and if admins will be able to block it.

Technorati: allpeers, firefox

My English links

For folks, like me studying English and willing to improve it, I list a few links I found useful:

  • The elements of style by William Strunk, Jr. - probably the classic on English style and grammar. A must read for anybody whose mother tongue is not English;
  • Keables guide - (brought by Gai Kawasaki) grammar rule, a set of style advice, an extension to the previous one;
  • Bad Language - a blog by Matthew Stibbe about English among other interesting things - a must for any blog reader interested in improving writing;
     
  • English Zone - a huge portal of English-related things.
  • Quote Finder - a resource of seeking quotes, idioms, expressions, used in context or by known people;
  • Common Errors in English Usage - an on-line version of a book listing most widely misused words in English;

How would you extend the list?

Building your network. The right tool.

Nothing has ever been as important as right connections. Today, in the Internet era it's impossible to overestimate the meaning of networking. Everything is changing rapidly and you barely hope (but don't know for sure) what you will be doing in a couple of years and whom will be working with.  Fortunately there is a number of tools helping us to manage our connections and I want to share my experience on the one I particularly love - LinkedIn - since a few friends of mine were asking me about it when I tried to join them.

The idea of the tool is simple - build your profile (a kind of an on-line resume), join other people you met, and be a connector of your network. Very simple and very efficient.

Why do you need it, what benefits do you get from it? One may say that Outlook is sufficient to store all contact information. But in LinkedIn by putting your contacts to your network you, actually, establish a connection with alive people; whatever they change in their data becomes immediately visible and accessible to you. You link them to you as opposite to storing a snapshot of their profile in your Outlook.

You get additional means to manage the connections like "shared connections" or "added connections". The former lets you see other colleagues that you and your connection share so if somebody changes her data you have other common contacts to reach the person. The later allows you to see what other contacts your connection has recently added and you may want to add them as well if you know them.

To sing-up you need to make just a few clicks and your virtual incarnation is given birth. It has a number of mandatory fields such as locations, industry, and company. You can control visibility and accessibility of your user (and its data) but the mandatory fields are always available for searches.

This is, probably, the best feature of the system since it helps you to establish connections with people you don't know in person but have an opportunity to reach them via your common network. Let me demonstrate it to you on an example.  Suppose, I want to meet Keith Ferrazzi. I don't know him (yet) in person but it happens that he already has registered at LinkedIn. When I execute a search there I see that he's only 3 degrees form me: meaning I have somebody in my direct network who has somebody in her direct network who knows Keith in person! Of course, I can try to contact Keith directly (if I know his email) but with LinkedIn I see a way (or a few) to be introduced to Keith via people we both know! Guess what my chances are to be accepted. By the way, Keith has a great article on LinkedIn and he also promotes the system in his amazing book.

Another advantage of the tool (or, rather, another aspect of the very same advantage) is you can find people from your big network (2nd and 3d tiers) based on the mandatory fields (location, company, industry). Looking for somebody in a certain company? Just put its name to the advanced search. Seeking an insider's view for an industry you have nobody in - the same receipt. You can use the network for anything - it gives you always the same resul - builds a chain of trusted (read: personal) connections to the target.

People often ask me whom should they invite or whose invitation to accept. There were two polar ideas: only people you can recommend personally or anybody you happened to know, even virtually. My opinion is you should add anybody for whom you'll be feeling comfortable to serve as a connector between her and your network. At the end of the day it's free but you don't want, probably, to have hundred people in the network whose names tell you nothing. So be selective but not greedy.

Membership is free at LinkedIn for a basic profile but there are options to upgrade to professional service from the network. I think you need it only if you're in an active job seeking position and am very happy with the level of free membership.

Last comment is building a network takes time and right contacts is something you want to have ready right when you need it. So don't shelve it - register today!

Update: Guy Kawasaki has a great post on how to use LinkedIn

Technorati tags:  social networking, linkedin, team

Under-bidding auctions for Amazon.

There is an option to sell your books (and some other stuff) that you don't need anymore at Amazon.  Each, having an account there, can offer his goods to be sold and the item will appear in the item's page under the "more buying options". There you can see the same items from other suppliers. They're new and used, in different conditions, and vary by price.

I found a few books that are out of my current interest but in good conditions and still may find potential buyers. I put them today on Amazon. A feature I didn't find and thought it might be useful is what I call an under-bidding auction. It's very similar to what we have at eBay just the opposite:-) If a right term exists for it please let me know.

When buyers are fighting for an item at eBay they bid and lift the price higher and higher and the seller benefits from that. Usually prices start at a very close to zero level and then go up. At Amazon sellers offer a price depending on the current situation. So if I want to ask for an item the lowest price I can make it lower the current minimal price.

In eBay auctions you set up a highest price you're willing to pay so the system automatically lifts your price in case somebody else overbids you. eBay auctions serve me, as a customer, and help me achieve my target in an easy and automated way - to buy what I want and pay how much I'm ready.

What I offer as an under-bidding auction is an option for buyers to lower the price if a lower asking price appears. The under-bidding auction should help me, as a seller, to reach my target - to sell an item as cheap as I'm ready. I expect to have an option to set a lowest price I'm ready to sell the item for and lower the current price automatically in case somebody asks for a lower price.

A service which is easy to implement I think could be a win-win for both - the buyers and the sellers.

Technorati tags: amazon, ebay, auction, overbid, underbid

How to make your blog attactive?

How to start a blog? The answer is simple - start blogging.  How to make the blog attractive? Quite simple too - start blogging about what you're good at. How to make the blog profitable? Make it really attractive.  Steve Pavlina repeatedly pints out how to make a site attractive (and hence profitable through ad) and he succeeded in this a lot. Another great follower of this idea is Jonathan whose blog talks solely (or mostly) about money and his personal experience. It's a very popular blog and the reason, besides the very popular topic and very professional content, is the fact the Jonathan writes about his personal experience.

I invite my friends to begin to think on starting blogging about their hobbies. Guys, you do invest, some of you are numismatists and philatelist, others are pros in fixing homes. Each of you has something to give a piece of advice and write about. Follow Jonathan and Steve and if you're really a pro additional earning will come.

Have a nice blogging:-)

The greates (MBA) book list

Joel published a book list he proposes for For Creek Software Management Training Program. It's very impressive and (most of the books) can be found useful not for technical people only but for anybody working in the IT industry.

I'd add just only  four-and-five-star technical books from my list on the left side of the page that are not there yet. Comfortably to notice I've read already many from Joel's list:-)

Technorati tags: MBA, reading, books

The king of analogies!

Usually I refrain from creating linking blogs but this one struck the chord with its vivid examples:

Somebody who drives a car might be sitting in a long queue of traffic someday and see a motorbike go sailing past him. He might envy the biker's ability to largely ignore something that is a crippling problem to a car. If that driver then said "I know all about cars, so I must know all about motorbikes!" then he'd be wrong.

  • If that driver bought a bike and then found that he was confused by the accelerator being a hand-controlled twist-grip instead of a foot-controlled pedal, he might complain that motorbikes should be fitted with a gas pedal.  
  • If that driver had a wife and two kids, he might find the bike's single passenger capacity a flaw. He might suggest that bikes be re-built so they could carry four people, two abreast.  
  • If that driver were to try and drive away, only to find that he fell over because he wasn't used to having to keep balance, he might suggest that bikes should be re-designed with four wheels.  
  • If the driver were to find himself leaning around the corners, he might suggest bikes should be fitted with stabilisers to keep them upright when cornering.  
  • If the driver wanted to keep his bike from being stolen, he might complain that there were no doors to lock potential thieves out, making his bike much more likely to be stolen than a car.
  • If the driver found a crash helmet an encumberance, he might suggest that an airbag in the bike's handlebars could be fitted as an alternative to the annoying helmet.

And in every case, he would be wrong. Because he thinks that a motorbike replaces a car, he thinks it can and should do everything a car can do. He thinks it can work in the same way that a car does, that 'missing' car features can just be grafted on.

What's the creativity in making the point clear, precise, and simple! The analogy is somewhere on the verge of being hurting the "auto drivers" starting their Linux bike but at the same time I know how the real "Linux bikers" feel when they hear complains from such perversion. Again, nice plain English, brilliant analogies, interesting reading. Recommended for "hackers" and "lamers":-)

The blog is here

Technorati tags: linux, windows, hackers, analogy

Bad VoIP vs. Good VoIP

Mark in his Top 8 Reasons for NOT using Lingo VOIP loudly regrets he started using it and promises not to use it anymore:-) Being a big supporter of VoIP as a technology and a very satisfied customer of MSMNetPhone I want to share my very positive experience and convince you not to bury that great technology (apparently unless it's in incarnation of LingoVOIP).

My plan includes a local number (you pick up a region), free long distance calls in the States and Canada, free land-line calls in Israel, and free land-line calls in England. All together it costs $29.99 including all taxes. Calls out of your plan are priced here and you can see that the prices are the same as in Skype. Additional number costs just $4.99.

My cable Comcast Internet connection (the last bastion of Comcast in my house after I replaced their TV service with I-Dish) fuels my computer, which is almost always in the VPN, a computer of my kids, which is almost always in eMule with about 35Kbs/sec. download and 10Kbs/sec. upload, and the VoIP phone. Never, never ever I experienced any clutter or noise on the line even downloading something from FTP servers. It's very undemanding and modest in its requirements. All people talking to me from the Americas, Israel, Russia, Georgia, England or Australia confessed they heard me very well and didn't notice any difference in quality comparing to the wired lines.

People called me never had strange system behavior like Mark describes. Also the voice mail system is great - you can get notifications about new voice messages via email and listen to them from the Internet.

Customer service is fantastic. You have an option to call a technical support (I just checked how fast they answer while was in a trial period of the first month). You also can send a message and get a response very fast (anyway less than 24 hours).

Installation was a piece of cake and the receiver is free. Last but not the least is the cancellation policy. No fee is required and you may do it any time. I don't remember by heart now but I hope I recall correctly that if you cancel the service during the first trial month you pay not only nothing for the cancellation but the shipment fee ($10) is returned to you.

I've been using this service since May of this year (when I throw from my home network another "no-service" provider - BellSouth) and never ever called the technical support. I strongly recommend you to try it this VoIP system if your current phone calling plan costs more.

P.S. If you do decide to try don't fotget to refer to me:-)

Business intelligence, SOA, and your grocery shop

In a very competitive market, such as the retail grocery industry, the battle for every customer  became reality many years ago. All top management teams have  been racking their brains to attract new and retain existing customers creating different programs, building new partnerships, enriching their networks by new services, and constantly re-decorating the stores. Apparently all this costs a lot. Some of the industry's players reached tremendous success, like Kroger, and others barely are in coma waiting to be acquired (Jim Collins in his "Good To Great" tells very exciting and instructive stories about it).

In the Atlanta area the battle for the customers on the grocery field occurs between Kroger and Publix. I found 3 the former and 4 the latter stores in a radius of 3 miles from my house. So how do they attract us and how do we choose between them? I think it's just a matter of taste. The prices, the assortments, the locations are very very similar. If I were an ideas generator in those companies my creativity would have run out new ideas very fast. But before it does I still have one idea on how to make one "Purple cow" out of this white herd.

I have a customer card in Publix and Kroger and every time I pay for my cart I give such a card to a cashier. Conclusion? - I'm identified as a customer. They know everything about all my purchases. I'm sure it helps them to make complex analysis and tune their supplies and planning towards the customer needs (of course not my personal but an average customer out of our aggregated statistics). What I don't know is why this information is concealed from me? And this time not the aggregated but my personal information. Wouldn't it be a great idea to provide me detail statistics on what I've bought, how much I've spent on certain categories, what was my price deviation during a certain period, how I could plan my food budget, and so on, and so forth. If one of the networks provides such a service then I'm, as a customer, bought by them.

For me this service would be a meaningful differentiator. Our family account's transactions coming from grocery shops sum up to $1K-$1,3K per month. Then it's a black box. I can only guess how this money is split between different goods and hence I'm blindly clueless on an idea what we spend or where we can save.

Now technically speaking providing such a service is not an expensive and a complex task. They already possess all the info and for the beginning stage the service may be 'read-only' - very like the Internet access to a bank account. But if to develop this idea further and make the service really interactive with the customer it can bring new opportunities as for the stores as well as for the customer. We can plan my spending together more effectively, the store can offer me more attractive deals (on a personal basis) since they possess the knowledge about millions of customers and can extract concrete patterns. They can build new partnerships and offer new services for me providing access to my statistics. Here a SOA-driven architecture can  prove its value. One wild example would be to allow me to order goods via the Internet and provide this info to a delivery service. I'm sure dozens of new services can be founded on the basis of a closer store-customer interactions and both  parts - the stores and the customers - will win.

Let's meet in Boston

I'll be in Boston Sap TechEd and even probably give a lecture about ESA and MDM at SDN ClubHouse (you're invited to register)

image

will be happy to meet my readers there:-)

 

Subscribe

Recent Comments

My Online Status

Powered by TypePad
Member since 08/2005