- New Articles/Tutorials and Presentation : jMaki Has Moved into High Gear (cld.blog-city.com) - jMaki has been making great progress. It is generating alot of excitement. What is it ? jMaki is about enabling Java developers to use JavaScript in their Java based applications as either a JSP tag library or a JSF component.
- Speed Up Your Javascript Load Time | BetterExplained - Javascript is becoming increasingly popular on websites, from loading dynamic data via AJAX to adding special effects to your page… with a price
- If you like to build easy to install JPA-applications - start with TopLink essentials - Java Persistence API (JPA) allows persisting objects in Java SE and EE environments. But JPA is only the API - the SPI (service provider) ist still needed. JPA is already supported by openJPA, Hibernate and TopLink essentials (a part of the Java EE RI).
- LINUX ON DESKTOP: 13 Things to do immediately after installing Ubuntu - In this article i describe some of the things to do immediately after installing ubuntu on your machine
- Expose Your POJO-Based Domain Apps as Web Services - This article explains how to expose existing POJO-driven J2EE applications as web services using Axis2
Posts tagged as:
AXIS
Daily del.icio.us for Feb 25, 2007 through Feb 26, 2007
Daily Del.icio.us for Feb 21, 2006
- Apples-to-Apples Comparison of the "Big Four" U.S. Wireless Providers' Calling Plans - The Wireless Report » For those who have become confused and bewildered before when attempting to compare wireless and calling plans from several companies, we would like to help a bit by giving you a real-world, typical-scenario comparison of the big four wireless compa
- Technology Evangelist: Review: Fujitsu T4020d TabletPC (TabNote) » I have been asked many times what the best laptop is. My answer is actually not a laptop at all, rather, a TabletPC. Being a huge fan of Apple Computer, this surprises many, but Apple has no product that can begin to compare to the Fujitsu 4020 TabNote.
- Axis meets MOM » This article describes a solution that combines MOM and Apache Axis to achieve both guaranteed delivery and standards-based Web services for your integration undertakings.
- Test-first development with FitNesse » This article describes how the open source wiki FitNesse can be used to implement a real test-first development process by bringing customer, requirements engineer, developer, and tester together.
- Previous links
Related posts
BEAWorld 2005 SOA Keynote Panel Discussion
I had the pleasure to participate in Keynote SOA panel discussion at BEAWorld 2005 in Santa Clara. If you're interested in watching the entire keynote, it's available online here. To get to the good part, skip ahead to around 2:38:00.
We had a general idea on the topic we were going to discuss and so I have put down some thoughts about the questions and topics in general. Given that we didn't have a lot of time during the keynote, I didn't get an opportunity to make all my points. And so here are the additional thoughts I probably would have convened, had we had more time.
1.What are some of the challenges that developers face in implementing Service-Oriented Architecture?
There are a lot of challenges facing developers and organizations that are in the process of implementing Service-Oriented Architecture. Being a technical person, the technology part is easy and most developers and architects in the audience would agree. One of the biggest challenges a lot of SOA efforts run into is the lack of business alignment. If your business partners are not involved and you treat this as just an IT project, your chances of success are fairly limited. The biggest benefit of an SOA is that it allows a business to be agile and nimble and respond quickly to changes in market condition, mergers and acquisitions, competitive landscape and regulatory or compliance changes. So SOA's should be seen as business drivers and not just a technology project. Another big challenge a lot of IT organizations face is that they need to shift from creating implementation-specific functionality or silos and move to creating standards-based services.
Another challenge is the upfront costs – Organizations will have to invest in tools training, process and organization changes. Part of the organizational change is the whole governance effort. If your organization has dedicated line-of-business development teams, you will need some new organizations structure to provide technical leadership to bring these teams together and focus on the global business issues. Governance is usually the part that makes or breaks a SOA effort. Different development teams aligned with their individual lines of business have their own set of priorities and deadlines. They usually need to be convinced that the bigger picture view of the Enterprise is just as important as building or leveraging services is in the overall interest of the business. There isn't a tried and true approach to getting SOA in your organization. In my case, I went to my CIO and his management team about 3.5 years ago and they gave me their blessing to move forward. But working for a Financial Services company also meant that IT-spend was really tight due to the horrible market conditions. So I took the approach of starting small and creating 1 simple service that became our killer-app. I implemented something we internally call the 'Security Framework' – The Security Framework was written in Java with an stateless EJB as a façade and you can could call the EJB directly or call the Web Service or use the Axis and WebLogic client I had created. The Security Framework taped into most of the authentication stores inside our network and so applications that were using the service could switch their authentication from a database model to Active Directory without any coding changes. If we implemented another authentication mechanism, the service would code that and not require all the clients to do anything. The service also offered roles or authorization and auditing functionality and so the developers were compliant with our internal authentication, authorization and auditing standards as they use this centralized service. Since then, our SOA effort has blossomed and we have a lot more services but we are not at a place where we need an ESB – We are in the early exploratory phase of the ESB to see if we need any of the services provided by a service bus.
Another big challenge is that there are very few mature SOA methodologies available today and so organizations will end up spending time developing their own methodology.
The operational aspect of software deployment also ends up becoming a challenge for a lot of organizations. With services acting as 'black-boxes' with many consumers, upgrades, back fixes, new features, versionining etc become big issue and best-practices haven't emerged yet. For example, we virtualize our servers and individual WebLogic instances with a service-name that points to a hardware load balancer (F5 Networks BIG-IP). So a WebLogic instance running on Server A (or a cluster) listening on port 8000 could have a name like p-securityapp-v2 and another WebLogic instance running on the same server listening on port 8001 could have a name p-securityapp-v3. As long as client(s) externalize the URI of the service in a property file or some other store/resource, they can upgrade to v3 of the service by just changing the property file (and testing). So we can move our services from server A to server B and all we have to do is change the load-balancers' configuration and everyone is automatically using the new instance. In our organization, we encourage people to upgrade and use the latest version of the service but the old service never goes away. Not the best solution but it's easy to convince people to use something if they know that they will not be forced to change something in the middle of a development cycle for another effort.
The second part of the operational aspect is monitoring – There are very few tools on the market today that will allow you to monitor your services and surface the information to a business dashboard or console. I am looking forward to checking out the pavilion to see what people have been working on and how they can help Enterprises better monitor and track issues.
2.What are the advantages for developers in implementing SOA?
There are several advantages for developers in implementing SOA and one of the biggest one is that SOA allows the developer to focus on the business logic and implement functionality without having to worry about the other details they typically focus on. As services have a well-defined interface that is independent of the implementation, developers are free to implement their code in any programming language and so people that feel comfortable with Java can stick to Java and people that feel comfortable with .NET can stick with .NET. Vendors may not like the idea of mixed or heterogeneous environments, but they are a reality for most of the organizations and having a Java-only or a .NET only solutions or standard doesn't make sense. Besides, it's ludicrous to think that one vendor's stack will solve all your problems. Having multiple vendor stacks keeps them honest and gives you options.
Another great benefit is almost a side effect but having a well-defined contract enforces good design practices.
Developers can decrease development times by using pre-built, reusable services as building blocks and create loosely coupled systems that are flexible and can adapt to changing business conditions. It's great to be able to leverage components that are deployed, documented, tested and certified internally as you don't have to reinvent the wheel. Instead, you can spend the time saved on other efforts for the business.
As an aside, there is also an industry effort called SOA Blueprints that is designed to help organizations build applications using service-oriented architecture (SOA). SOA Blueprints creates a common vocabulary to discuss SOA in an architecturally neutral way allowing comparable implementations to be crafted using different technology sets including J2EE, .NET and Web Services.
3.BEA sees great synergy in blending open source solutions with commercial technologies. Can you explain situations where you may have successfully used an open source framework in combination with WebLogic Server?
I see great value in blending of open-source and commercial solutions as a lot of great innovation is coming out of the open-source community and the ability to pick the best-of-breed components and deploying them inside WebLogic is very powerful. We've had great success in blending WebLogic and JRockit with open-source solutions like Struts, Spring, iBATIS, AXIS, log4J and many other great tools. Let's take the example of Spring, which is a very popular Java/J2EE application framework built on the idea of Inversion-of-Control. Spring offers great data access and transaction management capabilities that allow you to implement your data-access layer using JDBC, iBATIS, Hibernate or JDO in a standardized way. All of our data-access components use Spring's DAO framework with iBATIS under the covers. In this scenario, we are using the robust connection pooling and transactional capabilities of WebLogic while using that simplified POJO based programming model of Spring that eliminates unnecessary complexity often associated with J2EE.
Struts is also a great example of how we leverage this MVC-framework on top of WebLogic. Our web applications are built using Struts, which has become the de facto standard for UI development. All of our Struts application are deployed inside WebLogic and leverage our services-tier that's based on EJB's and Web Services. Another framework we've had great success with for external integration is the Apache Axis product that is an implementation of SOAP. Using Apache Axis, we've been able to leverage Web Services deployed inside WebLogic from Tomcat, JBoss and command-line or batch applications.