This week's book giveaway is in the Android forum.
We're giving away four copies of Head First Android and have David & Dawn Griffiths on-line!
See this thread for details.
Win a copy of Head First Android this week in the Android forum!

Paul Monday

Author
+ Follow
since Aug 28, 2003
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
1
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Paul Monday

I would have to reiterate then that your first job is to re-establish and reinforce good, constructive communication! Architects have to communicate a lot, and they have to work hard to back up what they communicate.
Hang in there! We have long careers ahead of all of us (I hope
17 years ago
Congratulations everyone on winning the book! I hope you enjoy it and PLEASE send me feedback, my address is in the book.
I will be here for the rest of the weekend for sure with some dedicated time to make up the late days. Then I'll head back to my lurk/participate status and keep a lower profile!
Thanks for all of the great feedback and conversations.
17 years ago

Originally posted by Simba Sriram:
Hi,
How does the container interpret it?
Alos, does the WSDL contain any credential information? If it does, how is it setup
[ December 05, 2003: Message edited by: Simba Sriram ]


Lasse's right, take a look at WS-Security, there are also books available. If you want to look at lighter weight mechanisms, you may want to look at Google and Amazon web services. If I remember right, you would register for a key from Google, then pass it on each service call. This was relatively lightweight and NOT integrated with the containers or any shared context, but it may be worth looking at if you want something quick.
17 years ago
First of all, I'm getting VERY curious as to your background and what you do now (not for recruiting, just out of complete curiosity). You'll have to shoot me a note offline if you are willing: pmonday@comcast.net.
I do have a bit of a different perspective on this...

Originally posted by HS Thomas:

Goals of San Francisco Component Framework
==========================================
1: Building a library of reusable business objects that could be used with ease in any part of the globe.
Lesson : Business systems are more complicated than operating systems and GUIs.Note we have many View Technologies but few whole component frameworks.
BTW, what are initial impressions of Spring Framework ? - (it seems to be an MVC for any type of distributed technology, at first glance.)
I could add that there is a gap between the language of the framework and Business Analysts who didn't seem to accept that they should learn the framework or UML for OO but prefered an unconstrained approach.
"Light came to them sideways, behind and sometimes from the front"
Unfortunately or Fortunately , I think this attitude is still true. Perhaps your book can be used for effective communication with Business Analysts ?


Building reusable component frameworks for business is "hard" for a few reasons:
- Business processes are largely organic and viewed as a "value" for a business (though this is changing), therefore, generalizing a business process and creating "plug" points essentially commoditizes a business process (not something businesses sometimes even accept as possible)
- You are right about the "gap", though I would push the gap even farther. With so much given to you off the shelf, there was a substantial amount to understand and learn...often, individuals feel they will be more adept at building it themselves than having to learn all of this "stuff"
- The framework suffered from a lack of standardized business process languages and workflow engines (much of this was built into the framework in a specific fashion...like lifecycle management)
- There is a severe gap in knowledge between a technical team building a framework and the type of people who have to use the framework (to be adept at SF you had to have good knowledge of OO patterns and the SF patterns, yet the closer you get to a customer, the less of this can be exposed...by the time you are IN a customer site, you are dealing with consultants and IT folks that frankly don't have time to learn SF design patterns since SF is a part of their toolkit, not their only tool).
- There are already business processes in place at enterprises that don't always match the coarseness and granularity of SF...further, there is DATA in place. This is where standards in BP models would be a huge help in the technology sector, and it in turn would help customers open up their choices. This change will take years... Until that happens, I suspect it will be hard to have an accepted business framework that gets used for generalized infrastructure.
- The user interface and user experience was always secondary in SanFrancisco which led to a gap between customer UI needs and how the FW handled transactions and moving data to clients.
Now, what's interesting is whether SF SHOULD have addressed these gaps. IBM is very good about not competing with their customers...they don't build general software solutions (like Retek, PeopleSoft, Oracle and SAP do), they supply infrastructure. So you have to listen to people about how far "up the stack" you can go...whether SF's "license" was too small to be successful could be an interesting debate...

Originally posted by HS Thomas:

2: A Component Framework for effective OO development
Lesson : Without design patterns it would not have even been possible.
Did any of the SF Patterns survive into J2EE Patterns, or patterns in your book ? Loss of Policy Patterns - any regrets. Business analysts love policies..
regards
[ December 05, 2003: Message edited by: HS Thomas ]


I would, again, suggest you get the SF Design Patterns book. These patterns are definately applicable WITHOUT SF and in a J2EE environment. Some of the "foundation" patterns and constructs are in J2EE (especially with respect to persistence).
Also, IBM still supports SF (I saw they just extended support through 2004) as there are applications deployed with it. Finally, last I knew, IBM did still use an EJB version of the upper tiers in professional service engagements.
I did a patterns tutorial for IBM devWorks before I started at Sun. I did use some of the SF patterns in the tutorial as examples of "moving beyond GoF".
Your last comment is interesting...IBM spent a LOT of time working with domain experts and listening to them about processes and policies. The SF Design Patterns book is SO well written because it talks about WHY these things were necessary....and btw, I think it still comes with SF Version 1.3 :-)
17 years ago

Originally posted by Pradeep Bhat:
I find lot of articles in web on WebServices and I dont know which one to read. Can you please help me so that I can add Web Services as a part of skill set. Thanks


Personally, I would pick one or more well respected portals (based on my WS implementation and goals) and stick to them, perhaps try a specific company's portal and a "general" portal:
- Sun: http://java.sun.com/webservices
- SearchWebServices.com - Sign up for their daily mail...even reading the headers every day gives you a nice summary of what is going on
Finally, I do like the "paper" format since it focuses my time, grab a cup of Java and browse your local Barnes and Noble...
17 years ago

Originally posted by Lasse Koskela:
I would say J2EE is by far the bigger domain (remember that web services are part of J2EE, kind of)... The area of web services I think will grow more than others is the business process level. Opinions on this?


I think there are a few things to be careful of in Web Services:
- WS-I(nterop), watch this space to ensure the things you build are compatible with others
- Then, like Lasse said, business processes. But be aware there are TWO things to watch with respect to business processes a) how to implement a bp in web services and b) what the standard models are for interaction with particular business processes
From an "architecturally" interesting perspective, I like the remote portal work going on (since this could have a dramatic effect on how we assemble applications and it WILL ripple into other platforms) and the bpel-type work since it drives us away from traditional programming.
Does anyone else have any thoughts on what the "high order" important things to follow are?
17 years ago

Originally posted by HS Thomas:
The Sun Tutorial looks good too. And Paul has worked there
Paul did mention that the Apache J2EE app server is going to be something to look out for.
[ December 05, 2003: Message edited by: HS Thomas ]


I've been very curious about the Apache project, Geronimo: http://incubator.apache.org/projects/geronimo-proposal.html...someone would want to weave that together with Axis smoothly.
Also, Axis could always use more exciting samples so maybe you want to try to build and document a good sample with Axis. At any rate, the Sun tutorials are great and I know that each of the big companies tend to have a wealth of information available.
17 years ago

Originally posted by Pradeep Bhat:
How to become a good web services developer?


I hate to be too flippant: in a nutshell, become a good enterprise developer.
Web Services solve a particular problem for customers and are simply another tool in your toolkit. I think the best WS developers will know
- the WS platform and be able to use them from a variety of tools
- when to use WS and when to avoid them
- know how they fit with other enterprise technologies (like J2EE EJBs and JSPs)
- know their role in an application
Most of all, don't forget that you are building a solution for a customer. Don't go into the customer with your toolbox full of one tool (Web Services), go in and decompose the customer's problem, then worry about whether Web Services are the answer. ONCE you've chosen Web Services as a solution, if you have an enterprise customer, be aware of the standard models evolving in their area so you don't try to reinvent the wheel and you don't force your customer into a bad corner of having to bring people to THERE interfaces.
Finally, I can't keep up with everything going on in Web Services. Get the basics and get them well. Maybe pick a tool and let it carry you through the evolution of Web Services if you don't have time to keep up and participate in all of the specs.
17 years ago

Originally posted by HS Thomas:

Do new Storage Solutions have any impact on deploying Web Services in the future or is it sufficient that the patterns described in your book have the right amount of abstraction that any storage solution can be accomodated ?
I am assuming Enterprise Storage Solutions come with both hard and software packages.
regards


What a fascinating question! Most companies have a vision for a tightly integrated vertical stack of software, Sun is among the thought leaders in this area with their N1 strategy and has made a few acquisitions to help along the way. For storage, we have the N1 data platform that helps virtualize SAN storage.
What everyone is driving towards (N1 in a very small nutshell) is the ability to tell your data center the qualities that you need to run a particular service (like a Web Service). Your data center is fully connected through blades, NAS components, SAN components, etc... The provisioning software creates the proper partitions and deploys your services for you.
In the book I did NOT take into account storage and/or storage software. I was really working in and coming out of the business industry over the course of writing most of the book.
As for enterprise solutions, there are a variety of software solutions that come with a storage solution, or can be added. Typically, if you want to do something that crosses multiple boxes (whether it is application to storage or multiple storage devices) you end up paying extra.
Unfortunately, you don't see a lot of this coming into the home. I did calculate that you could put together a nice little 1 Terrabyte Linux NAS for your home (use some simple RAID mirroring built into the OS so you only have 500GB left but you have redundant drives) for about $2500. Set the box in the corner with a reliable wireless and you're talking a bit of storage over there (it won't be the fastest because of the low-bandwidth WIFI and the bottlenecks through translation...but it may be sufficient!) Plus, if a drive goes down you can replace it at your convenience and still access your storage!
17 years ago

Originally posted by HS Thomas:
Paul, you obviously know and love what you are doing.
That's very refreshing to cynics.
regards


To be honest, I can be a terrible cynic as well. Some days in the tech industry seem a bit too much like Survivor...you sit and you wonder how "John" (the weasel dude on survivor) makes it so far (this applies to technologies, companies and yes, sometimes people) and then on bad days you wonder if you've turned INTO John
My latest boss drove a basic belief in his organization: What customer problem are you solving? In the end, let's see if I help anyone ;-)
17 years ago
Alright, into the bits...
I don't have the context for where this came from...but I think this does come down to pure Java mechanics and trying to reconcile the Java platform with Web Services.
With Axis you could set the longevity of a service implementation (application, request, or session) that fulfills requests. So your comment that the instance goes away after the service request is not necessarily correct.
I think you are taking the approach of building a java interface, then exposing it as a Web Service...correct? If this is the case, remember that Web Services want messages, ports, and operations...a constant is not an operation. I would guess that some tools would take this and turn it into a "get" operation...but, in general, since it doesn't apply to the Web Services platform, why would you want to do it?
As an "umbrella" comment, I would be careful to not try to leverage too many Java semantics in your Web Services. Instead, be careful to take Web Services into account when you design your Java...(reverse your thinking...from a Web Services point of view, is there such a thing as a constant in a WSDL interface...if there isn't, why would you try to do it in the Java interface that is going to be expose...instead, think of the exact behavior you want and build the interface within the limitations of the WS environment).
17 years ago
Lasse nailed it. Be aware of WHY its there and how to use it, but don't sweat the details too much (unless you want to work on WS containers and app servers).
17 years ago
I agree...early on when I was contemplating a book a colleague and mine tried to interact with a Web Service I built with Axis and his Python implementation. We had a rough go of it...
Be careful of where the problems are though...in some cases the problems are merely in WSDL and having a common way to describe a complex type. A lot of this stuff is being ironed out.
Keep an eye on WS-I (Interoperability)
http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.htm
This should help quite a bit. I haven't enjoyed the stub regens for versions and all of the WSDL incompatibilities when you try to do more complex operations. Between WS interop limitations and JDO problems, I have flattened many an interface...
17 years ago

Originally posted by HS Thomas:

Paul, which Web Service open source projects would you recommend ?
Or if there are many ?
regards
[ December 04, 2003: Message edited by: HS Thomas ]


I tend to like one of the latter posts...basically, be careful out there. Depending on where you are in your career, I would choose wisely. My professor in my grad program pointed me towards Linux while it was in its infancy. I ended up contributing the first version of a mountable System V filesystem (I think my project writeup is still lying around on the Web I handed it off when I left grad school...my guess is my code is gone, I forgot to look last time I had the linux source...
My suggestion is very simple...lurk on a favorite or two that are smaller but very influential (Axis, JetSpeed, Mozilla, etc...). Lurk on the forums, post some bugs, fix a bug...get familiar with SSH and the personalities, and slowly try to step in to take a module or a substantial unit of code or, at this point (like Lasse said) find something that isn't done or lost steam. The storage industry was ripe for the picking a few years ago when the WBEM implementation came out and there were no well-done open source CIMOMs.
17 years ago

Originally posted by Matt R. Hansen:
Paul,
What would you recommend to one who has a desire to develop (and eventually architect) for Sun?


Matt, that's a toughie. I'm not sure where you are in your career so its difficult to guide you too closely...and only time will tell whether I am worthy to guide
Let's start with the job description of "architect". Its a terribly soft science. Even within a company like Sun you will find an architect in one organization fulfills a fundamentally different role than an architect in a different organization or "level" in the organization. To take a role like mine you want to
1) Become VERY good at something, but not to the point of "obsession", this is how you'll make your name
2) Find someone to mentor you (though if you do 1, someone will find you)
3) Be obsessive about WHY you are doing things, what is the customer problem you are solving and understand where the things you are building fit into the larger system
4) Be humble and make friends, your seniors aren't your seniors because they are older, they are there because they have battle scars. Understand what their scars are and learn from them.
5) Make your managers successful
AND MOST OF ALL...learn to communicate effectively. I was a terrible introvert when I left my undergrad. For my graduate program at Washington State I ended up teaching 2 classes on Friday in front of > 100 students. The first few classes were rough, but you learn. Take every opportunity you can to educate others. If you teach 60 people in a company, 60 people look to you as an expert (assuming you did a good job) and they will tell 60 more that you are an expert.
As for getting into Sun, very interesting. Be persistent, watch the job listings that get posted to see where the hotspots are and definately try to excel in leading edge technologies and how they solve customer problems.
The key is the customer and the complete computing ecosystem.
To learn more about architecture, spend some time with a few books about requirements, architecture, and then make sure you can draw a line between architecture and design.
17 years ago