Posts tagged as:

MVC

Daily del.icio.us for January 27th through January 28th

by Vinny Carpenter on January 28, 2008

  • Peter Ent: DataCalendar - The DataCalendar is a combination of DateChooser and DataGrid. Like the DateChooser, the DataCalendar displays a standard calendar with controls to navigate to another month and year. And like the DataGrid, the cells of the DataCalendar display data.
  • Khomsan Ph. - VisualWget - Home - VisualWget is a download manager that use Wget as a core retriever to retrieve files from the web. You can think of VisualWget as a GUI front-end for Wget that give you all of Wget functionalities plus little management features such as download queue
  • Wall $treet Week with FORTUNE . In the News | PBS - America's growing trade deficit is selling the nation out from under us. Here's a way to fix the problem — and we need to do it now. By Warren E. Buffett,
  • Ext JS Blog - » Ext continues expansion, Now offers training and consulting services - Ext has been quietly offering services for some time now, basically working towards getting certain pieces in place before formalizing the Ext Professional Services division
  • Ext JS Blog - » Ext continues expansion, Now offers training and consulting services - Ext has been quietly offering services for some time now, basically working towards getting certain pieces in place before formalizing the Ext Professional Services division
  • CSS Reference - Welcome to the SitePoint CSS Reference! We?ve worked hard to make this the most detailed and up-to-date reference on the subject available. To get started, try our handy search box, or click on one of the headings to browse that section of the reference
  • InfoQ: Amazon EC2 Gains Favor with JEE and Groovy Developers - Using the EC2 API is straightforward, but to make life even simpler Chris Richardson has posted a Groovy framework that can launch MySQL, Apache HTTP Server, a set of Tomcat instances and JMeter, as well as deploying web applications to Amazon's EC2.
  • Seth's Blog: Nickel and diming - Offering low marginal cost items for free is a shortcut to generating word of mouth, which is a lot cheaper than buying ads.
  • Mastering Grails: Build your first Grails application - In the first installment of his new monthly series Mastering Grails, Java expert Scott Davis introduces Grails and demonstrates how to build your first Grails application.
  • The busy Java developer's guide to Scala: Functional programming for the object oriented - In this new series, Ted Neward introduces Scala, a programming language that combines functional and object-oriented techniques for the JVM. Along the way, Ted makes the case for why you should take the time to learn Scala ? concurrency, for one ? and
Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Related posts

Daily del.icio.us for January 15th

by Vinny Carpenter on January 15, 2008

Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

Related posts

Daily del.icio.us for January 5th

by Vinny Carpenter on January 6, 2008

Daily del.icio.us for for January 5th

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Related posts

Daily del.icio.us for Jun 22, 2007 through Jun 27, 2007

by Vinny Carpenter on June 27, 2007

Tags: , , , , , , , , , , , , , , , , , , , , ,

Related posts

BEAWorld 2005 SOA Keynote Panel Discussion

by Vinny Carpenter on October 1, 2005

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.

BEAWorld, SOA, AquaLogic, Spring, Struts, AXIS, WebLogic

Tags: , , , , , , , , , , ,

Related posts

ladies running on a picturesque beach