Welcome!

Weblogic Authors: Yeshim Deniz, Elizabeth White, Michael Meiner, Michael Bushong, Avi Rosenthal

Related Topics: Weblogic

Weblogic: Article

A Conversation with Adam Bosworth

A Conversation with Adam Bosworth

Adam Bosworth, vice president of engineering of the Frameworks Division at BEA, recently sat down with JP Morgenthal to talk about his role in WebLogic.

WLDJ: Tell us about your role at BEA.
Adam: Basically, I make sure that we build what's necessary for J2EE to become usable by the rest of us - on top of WebLogic Server. Whether it's building the user interface in the portal strategy, or building the overall development environment, WebLogic Workshop will make it easy for every reasonable developer to use.

WLDJ: What are your primary software development interests?
AB: I've spent my life trying to make building applications easy. Basically, helping developers build solutions - developing products, plumbing, or technology to help them build solutions. Whether it was Active Server Pages and the extent of my work at Microsoft, all of which was plumbing, or Access and working on the VB products, I helped them build the application. That's what I like doing.

WLDJ: What are the biggest challenges facing the developer community?
AB: We're moving into an era when more of the information on the Web will come to you, rather than you going out to it. Today we have a pull model. When you want to get information, you go to a site and pull the information out; information doesn't come to you. As we move into a world of mobile devices and applications interacting with each other, the pull model will become one of two models - push-and-pull architecture. A big challenge is in making it easy for developers to write and manage, and then administer and configure applications where the applications don't just provide information on demand, but send information to people.

Another challenge, even in building WebLogic Workshop, is making asynchronous Web services the linchpin of the product. Coming up with the right programming model and making it easy was critical. We were able to work with mobile vendors and cut deals in weeks because they could see the opportunity for sending information to the devices. A big challenge is making the shift from a pull-model world to a push-pull model. Also, we've built a large infrastructure for building complex Web-based apps, but most people don't have a good way to understand what the application is doing.

When you build a Web site you want to build four kinds of logic. There's logic that describes the overall site: what pages are brought up when, possible navigations, and how they depend on who you are and what you've done. That's site-level logic.

Then there's page-level logic. The user just filled these fields in. What should I do? How do I update my portfolio or my sales course automation?

Layout logic: What does the page look like? How conditional is that based on personalization and other things?

Finally, there's business logic. Right now, it's hard for developers to know where to put that logic, so they put it all in one place. You can't tell at any high level what's going on. I hear that it's happening in the .NET world as well. Making the business logic easy to separate and easy for business analysts who work with developers, so you can see the overall layout and flow of your logic and partition it in a natural and intuitive way, is the other major challenge we're facing. BEA's Framework Division is building products that provide solutions to these challenges.

WLDJ: How do you make partitioning easy?
AB: We're working with Java- Server Faces - working group JSR1-27. .NET has done it with controls. You can have UI code behind the page and that page code becomes strictly layout logic; the two can coexist. You can separate easily from your layout logic, which is just JSP in our world, and there will be code behind it. It's a baby step, but then you need an IDE to make it easy to use.

Another example is what we did in WebLogic Workshop with a two-part view. You can see what's going on in the Web service using the design view. Then you can go to the code. How do you handle incoming messages? The code is straight Java; you can toggle between the two views. Annotations make this possible. Metadata is becoming important because it can describe to the IDE what's going on and let the IDE provide higher-level views, like the design view in WebLogic Workshop. Another example is business process management.

WLDJ: Do you foresee the facility, like in C#, to store attributes as one of those areas?
AB: We've already done that in WebLogic Workshop. We use annotations and comments. JSR-175 has been submitted just for adding annotated metadata to Java. In addition, we submitted JSR-181, which is the JWS JRS itself and formalizes it for this particular case (Web services). The only difference is that in .NET it was done intrusively into the language. We do it more quietly, in comments. Endemically, in WebLogic Workshop we use metadata all over, in just that way, as attributes.

WLDJ: BEA has announced the BEA WebLogic Enterprise Platform and integrated stack based on WebLogic Server, which offers a single platform for Web services, portal, and integration capabilities. Why did BEA push to have a single application infrastructure?
AB: It's what developers need. It has scale. Once our customers put an outward face on an app, they need it to be available 24/7. You need high availability and complete reliability, hence the need for transactions. If you take those three needs - scalability, high availability, and transactions - you've got an app server. It's the kernel you need for pretty much any function I can imagine deploying today.

Portals, integration, and Web services are all part of the same thing. Customers have invested in IT over the last 10 years and built thousands of applications. We have customers that haven't been able to treat all these applications as intelligent resources they can integrate for both information and process. Now they're looking to build portals that act as UI integration layers that pull together the information in a personalized, customized way.

For their customers, employees, or partners, they're looking to pull together business processes so all the other application servers are either sources of information or integral parts of the overall process. To do this, they're looking for the same kind of integration and high-availability scalability and transactions because they're mission-critical applications. If anything goes down or the system stops working, they stop delivering services to their customers, themselves, or their suppliers and partners.

This is the difference between how we look at integration and how other companies do, which is through business process management (BPM). I've seen a lot of people writing messages in integration brokers. They think of the message integration broker as just a switch that takes an incoming message and routes it to the right place. When we look at how our customers use BPM, they're integrating facilities within the app itself. They're calling EJBs at every step. The workflow is deeply integrated with how they choreograph and run the various components of the application. That's much easier to do with one integrated stack. It's hard to provide that kind of seamless integration from the outside.

That's an argument for a single platform. When you build one of these pieces everything is integrated, but it goes a little further. People are using Web services more to build the next generation of integration. I talk to companies making major bets on their EI system being replumbed on top of Web services over the next 12 to 24 months. They're asking themselves, "How do we wire the application logic to invoke or be invoked by these Web services? How do we work the UI logic to do the same?" They want it to be one seamless whole so they can also wire it into their user interface, but don't want to easily expose any functionality in the application. It's a fancy way of saying, "We need a single platform because our customers need it, because the applications they're building are about integrating information."

WLDJ: What part has BEA's acquisition of Crossgain played in providing BEA's unified application infrastructure?
AB: We've chosen to build something where the average corporate developer could focus on business logic and application logic, not plumbing. We saw an opportunity to increase use of J2EE if we could let people focus on the business application logic. Crossgain chose to start with Web services. Their role was to make Web services easy for developers in a way that fully exploited the J2EE platform. Our acquisition of Crossgain led to WebLogic Workshop. It's an environment that makes it easy to build truly enterprise-ready Web services. Crossgain and BEA had to do a lot of work to make sure that Web services lived up to what the enterprise would need.

WLDJ: Crossgain was based on a Web services platform? How viable is Web services technology, whether it's .NET or Java?
AB: Web services are extremely viable for one arena and becoming viable for another. They're extremely viable for integrating information within an enterprise. To do that, you need three things. You need coarse-grained messaging. You get that from Web services. You need a loosely coupled model because applications across the enterprise are run by different departments and groups and none of them can be redeployed in concert. You need to be sure that changing one application won't break the others. You need an asynchronous model because a great deal of what the applications do is such that you cannot assume that you can invoke them synchronously, either because they aren't available all the time or because there are peak loads that would overload your service.

You also need reliable messaging, which isn't yet part of the Web services standard, but most enterprises are wired up to a message bus. There are bridges between message buses and we made JMS a transport for Web services. In doing so, we guaranteed that within the enterprise you could have reliable delivery, even within the context of Web services using JMS as the transport for the message buses rather than using HDDP. Now we give you a choice - use one, both, or either.

Security isn't as rich and well defined as it should be at this stage. Within the enterprise, security constraints were more manageable because you were safe within your firewalls. Some of the tools that are already there - right at your sign-in, unsign-in using XKMS or SSL - are reasonable to do within the enterprise. If you look at where Web services are on B2B, that's where these adages are felt most keenly. The two things that are slowing down Web services' adoption to the B2B space are the lack of standards for reliable messaging and an automatic assumption that all the stacks that implement Web services implement reliable messaging.

WLDJ: You said earlier that there's an assumption about the security model. What is it?
AB: Within the enterprise you tend to assume that someone who's made it within the firewall isn't dangerous. That doesn't mean they aren't dangerous; they aren't as dangerous as when you open things up through the firewall. You realize someone coming into this organization could be malignant because the code coming in isn't code written by your organization. That raises the ante dramatically. In one case you can do reasonable checks and balances and have speed bumps to catch people who are just being sloppy on permissions and rights. The other case, when you really have to be completely confident that you have very hard-core security, is on the security across companies where people coming in simply aren't trusted in the same way because they don't work for you. That's where the demand goes up dramatically. We've been working with VeriSign and others to draft a new security directive that's come out of Microsoft, VeriSign, and IBM.

WLDJ: You also mentioned the importance of quality of service.
AB: We believe the best way to get quality of service is to support a model with queues. You can write intelligent tools to take things out of queues and process them in the order you need. If you simply spin up threads on machines every time a request comes in, you can't scale beyond the fixed limit of the hardware. A challenge for people on the Web has been delivering a better quality of service to a high-profile customer than a low-profile customer. They're both coming in over the same Web gateway. At the end of the day, the Web service gateways are synchronous and spin up threads immediately in computers because they're synchronized. When you have a queue in the model, you can deliver very good quality-of-service characteristics. You can see how long something is sitting there. It's harder to see if it's spun up as a thread.

Reliable messaging is also part of quality of service. The customer has to decide. Reliable messaging usually comes at a price in terms of latency, in terms of speed - customers have to make the right trade-offs.

WLDJ: You worked for Microsoft and now you're with the Java camp. Do you see a difference in the approaches they take toward Web services?
AB: I worked for Microsoft for 11 years and played a role in getting Web services off the ground. The difference is in who the customer is. In the Java camp we think a great deal about enterprise computing and so the challenges we run into almost immediately are about enterprise computing. I'd say the Java community has taken off around enterprise computing and I think that's something that people miss a lot.

The Java community thinks a great deal about Web services as an integration platform and less about Web services as a consumer story. That's starting to change. Push Java is dominant on mobile devices because mobile devices are such a natural companion to Web services, they need a message-based model. Look at RIM as a success story for applications on mobile devices. We're starting to see a natural marriage and that's driving more of a consumer focus into how the Java community thinks.

Java has huge support among the customer base. Customers like the open model. Many bet on PowerBuilder years ago because it was the best for client/server computing. It had a lot of proprietary language. These days they're frustrated because there was only one vendor, which is not always the healthiest vendor. Our customers don't want that again, they want to know the language isn't controlled by any one vendor, and that there will be choices. That's Java's strength.

Microsoft's strength is that they control the language absolutely and proprietarily. They can move quickly to extend the language and to learn from Java, and they have. We'll see if Java in turn learns from what Microsoft has been doing and continues to extend itself. If it does, Java will be the dominant language for a long time to come.

We believe people can work together - the deep, hard-core systems programmers, the gurus, and the others who basically are writing business and application logic, which is what actually added value to their company.

Most of our customers don't beat their competitors by doing better plumbing. I see these two communities - systems programmers and applications developers - that want to work together. Having Java as the unifying story between them is powerful because it means each one can easily read and expand and augment what the other does in a very seamless way. I love watching one of my developers build a Web service using WebLogic Workshop, and then one of my other developers, a "VI and emax, unless it's in the kernel I am not interested" guy, extends it to do something weird and wonderful that I'd never figure out. For us, Java is a lingua franca. The CLR model ultimately has the most value if multiple people are writing in multiple languages. Customers don't really want that. If all their developers are writing in different languages, then it's very hard to move code from one community to another.

Even if the CLR were open, and I'm a little skeptical, it's not clear that having a common language runtime per se is better.

What's interesting is how C# has learned from Java and innovated in its own way. If Java continues to extend and grow; if it learns how to natively talk to XML; if it learns how to natively add extensible metadata, and all the things that should happen; if it learns how to handle the fact that messaging is a fundamental core competency of language and that language should have constructs for rendezvousing messages, then Java will continue to be the dominant language in the enterprise, and probably on devices, because at the end of the day, mobile devices will dwarf PCs as well. On the other hand, if it doesn't, if it's declared to be perfect as is, and/or is height-bound by the fact that it's a community effort and takes more work to extend than one owned by a single very smart and aggressive vendor, then there could be risks.

More Stories By JP Morgenthal

JP Morgenthal is a veteran IT solutions executive and Distinguished Engineer with CSC. He has been delivering IT services to business leaders for the past 30 years and is a recognized thought-leader in applying emerging technology for business growth and innovation. JP's strengths center around transformation and modernization leveraging next generation platforms and technologies. He has held technical executive roles in multiple businesses including: CTO, Chief Architect and Founder/CEO. Areas of expertise for JP include strategy, architecture, application development, infrastructure and operations, cloud computing, DevOps, and integration. JP is a published author with four trade publications with his most recent being “Cloud Computing: Assessing the Risks”. JP holds both a Masters and Bachelors of Science in Computer Science from Hofstra University.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
IoT is rapidly becoming mainstream as more and more investments are made into the platforms and technology. As this movement continues to expand and gain momentum it creates a massive wall of noise that can be difficult to sift through. Unfortunately, this inevitably makes IoT less approachable for people to get started with and can hamper efforts to integrate this key technology into your own portfolio. There are so many connected products already in place today with many hundreds more on the h...
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
Business professionals no longer wonder if they'll migrate to the cloud; it's now a matter of when. The cloud environment has proved to be a major force in transitioning to an agile business model that enables quick decisions and fast implementation that solidify customer relationships. And when the cloud is combined with the power of cognitive computing, it drives innovation and transformation that achieves astounding competitive advantage.
Machine learning has taken residence at our cities' cores and now we can finally have "smart cities." Cities are a collection of buildings made to provide the structure and safety necessary for people to function, create and survive. Buildings are a pool of ever-changing performance data from large automated systems such as heating and cooling to the people that live and work within them. Through machine learning, buildings can optimize performance, reduce costs, and improve occupant comfort by ...
Charles Araujo is an industry analyst, internationally recognized authority on the Digital Enterprise and author of The Quantum Age of IT: Why Everything You Know About IT is About to Change. As Principal Analyst with Intellyx, he writes, speaks and advises organizations on how to navigate through this time of disruption. He is also the founder of The Institute for Digital Transformation and a sought after keynote speaker. He has been a regular contributor to both InformationWeek and CIO Insight...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As automation and artificial intelligence (AI) power solution development and delivery, many businesses need to build backend cloud capabilities. Well-poised organizations, marketing smart devices with AI and BlockChain capabilities prepare to refine compliance and regulatory capabilities in 2018. Volumes of health, financial, technical and privacy data, along with tightening compliance requirements by...
Early Bird Registration Discount Expires on August 31, 2018 Conference Registration Link ▸ HERE. Pick from all 200 sessions in all 10 tracks, plus 22 Keynotes & General Sessions! Lunch is served two days. EXPIRES AUGUST 31, 2018. Ticket prices: ($1,295-Aug 31) ($1,495-Oct 31) ($1,995-Nov 12) ($2,500-Walk-in)
Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settlement products to hedge funds and investment banks. After, he co-founded a revenue cycle management company where he learned about Bitcoin and eventually Ethereal. Andrew's role at ConsenSys Enterprise is a mul...
Nicolas Fierro is CEO of MIMIR Blockchain Solutions. He is a programmer, technologist, and operations dev who has worked with Ethereum and blockchain since 2014. His knowledge in blockchain dates to when he performed dev ops services to the Ethereum Foundation as one the privileged few developers to work with the original core team in Switzerland.
René Bostic is the Technical VP of the IBM Cloud Unit in North America. Enjoying her career with IBM during the modern millennial technological era, she is an expert in cloud computing, DevOps and emerging cloud technologies such as Blockchain. Her strengths and core competencies include a proven record of accomplishments in consensus building at all levels to assess, plan, and implement enterprise and cloud computing solutions. René is a member of the Society of Women Engineers (SWE) and a m...