Web project architecture question, mulitple .wars vs a single .war

I am in the early stage of architecting a web project.
At this point, I've came up with two solutions:
Multiple .wars
Each section would be it's own .war that would be built into an .ear. This would allow a multiple developers to work on the project and if a change would be made, then only the changed .war would need to be built.
However, then I would have mulitple copies of the same library for each .war, so that could slowly become a maintenance nightmare.
Also, I haven't figured out how to communicate between each .war - I don't believe I can cross container context?
Single .war
I wouldn't have to worry about multiple copies of the same library files. Nor would I have to worry about losing session data between applications since I would be running under one container.
But I am unsure of the best way to have more than one developer work on the project? It was suggested that I look at cruise-control at sourceforge.net - an automated build process - thus developers could check in their source code and a build would happen every xx minutes.
What is the best way to approach a project that is made up of multiple applications that need to be under one application suite?
Thanks,
--Todd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Hi,
I would recommend starting with the simple case which is using a single war file. You can use multiple wars, but it can add a bit of complexity and force you to learn a few advanced fetaures to get started. You can also share common libraries among multiple war files inside an ear file, and Java EE has mechanisms to allow that sharing (BluePrints has a document on adding libraries to Java apps at
https://bpcatalog.dev.java.net/nonav/enterprise/portableextensions/frames.html ) but it is does add a bit of complexity for you to learn initially.
A good rule of thumb is to start with one war file, and only split into other war files if really necessary. The most common style is one war file.
hth,
Sean

Similar Messages

  • Project architecture question

    hello
    iam trying to develop a mobile application using j2me to communicate with linux machine through wireless LAN .
    my question is that iam confused about the project architecture.
    ihave 2 ways:
    1-develope desktop application working as aserver (on the linux machine) and the communication with mobile through streams.
    OR
    2-make the server is tomcat running my developed servlet and the communication through HTTP.
    which way is prefered and why? or any other suggestions?
    thanks in advanced.

    HTTP is perfered because it is more widely supported.

  • Web Service Architecture Question

    I am a J2EE newbie. I am a certified J2SE developer, but still learing J2EE. I currently have a web-application that monitors a database. The Web application consists of a group of JSPs that create JDBC connections to a database and retrieve information via sql queries.
    I would like to make the application more generic so that I use connection pooling and do not have to hide the user name and passwords in the JSPs. I would like to use Enterprise beans to poll the database and the JSPs would simply request the information from the beans to display a table in the webpage.
    But like I said I am still pretty new to J2EE and do now know the best way to do this, or if this is even the best way. What technologies should I be using on my simple web application?
    Please Help

    Since it is a monitoring application that may depend peformance I prefer to avoid Enterprise Java Beans(EJBS) and use a connection pooling freely available from the book "Java Servelts from Marty Hall" and configure your database login info in java property files. Or you can use your application server's connection pooling feature by configuring the jndi data sources and other connection pooling info in the interface provided by your application server.
    for more clarity contact me at [email protected],
    Ravi.

  • EJB vs web services - architecture question

    I am about to be involved in architecting a new system that will have a very large amount of business rules. The application will be 3-tiered with the client application being a swing based java desktop application making requests of objects (ejb or other) to a j2ee application server.
    Im rather new to ejb development, having only built sample apps in the past. What im wondering is if there is a way to get around the RMI dependency for communitation between the client app and the server components. this is one reason im considering at least partial use of web services. ive become pretty good with apache soap, xml and seb services todate. however, i also need transaction support and im not sure if web services will do this yet. ive read about some work in this area.
    does anyone know of an (hopefully opensource) implentation of a SOAP-EJB and/or EJB-SOAP implementation layer ?
    The crux of the problem is that i need things like transactions and session management but i would like to communicate via soap and/or xml.

    Ive also seen a few examples of using a servlet as a request dispatcher to service the SOAP requests to EJB's. im just wondering if there was something available that will do this without having to roll my own so to speak. I want to be able to communicate with my ejb's over port 80, but in a secure way.
    Im also anxiously waiting for Apache Geronimo.

  • How does Azure Compute Emulator (or the Azure one) determine if a role is web project or something else ("The Web Role in question doesn't seem to be a web application type project")?

    I'm not sure if this is F# specific or something else, but what could cause the following error message when trying to debug locally an Azure cloud service:
    The Web Role in question doesn't seem to be a web application type project.
    I added an empty F# web api Project to a solution (which adds Global.asax etc., I added an OWIN startup class Startup etc.) and then from an existing
    cloud service project I picked Roles and
    chose Add
    -> Web Role Project in solution, which finds the F# web project (its project type guids are 349C5851-65DF-11DA-9384-00065B846F21 and F2A71F9B-5D33-465A-A702-920D77279786),
    of which the first one seem to be exactly the GUID that defines a web application type.
    However, when I try to start the cloud project locally, I get the aforementioned error message. I have a C# Web Role project that will start when I remove the F# project. I also have F# worker
    role projects that start with the C# web role project if I remove this F# web role project. If I set the F# web project as a startup project,
    it starts and runs as one would expect, normally.
    Now, it makes me wonder if this is something with F# or could this error message appears in C# too, but I didn't find anything on Google. What kind of checks are there when starting the emulator and which one needs
    failing to prompt the aforementioned message? Can anyone shed light into this?
    Sudet ulvovat -- karavaani kulkee

    Sudet,
    Yeah you are right, the GUID mentioned seems to be correct and the first one i.e. {349C5851-65DF-11DA-9384-00065B846F21} means the web application project which compute emulator uses to determine while spawning up role instances.
    You might want to compare the csproj of your C# and F# web projects which might give some pointers.
    Are you able to run your F# web project locally in IIS? If yes then you will definitely be able to run it on azure so I will recommend to test it in IIS Express first.
    Here are some other tips which you can refer or see If you are yet to do those settings
    1. Turn on the IIS Express - You can do it by navigating to project properties
    2. Install Dependent ASP.NET NuGets / Web Api dependencies (If there are any missing), Reference System.Web assembly
    Also I will suggest to refer this nice article about how to create a F# web Api project
    http://blog.ploeh.dk/2013/08/23/how-to-create-a-pure-f-aspnet-web-api-project/
    Hope this helps you.
    Bhushan | http://www.passionatetechie.blogspot.com | http://twitter.com/BhushanGawale

  • Generate WAR files from WEB projects

    Can I generate war files with my web projects?, i have some portal and proccess
    projects, and i need to generate wars. If i can generate ear files it´s great.
    Does someone knows to do it?

    Build => Build Ear.
    You can unzip that to find the war issuppose.
    Maybe right clicking on your web project and doing "build ..." might
    generate a war in your project directory too.
    Thank you for any and all help,
    Geoffrey
    "Leonardo Contreras" <[email protected]> schreef in bericht
    news:3fe89850$[email protected]..
    >
    Can I generate war files with my web projects?, i have some portal andproccess
    projects, and i need to generate wars. If i can generate ear files it´sgreat.
    Does someone knows to do it?

  • Question on create web project wizard - Web Application version

    Hello -
    On step two of the wizard it asks you for a web application version. Choices:
    Servlet 2.3\JSP 1.2 (J2EE 1.3)
    Servlet 2.4\JSP 2.0 (J2EE 1.4)
    Does the choice ONLY affect the choice of how the top of web.xml is generated?
    i.e.,
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee">
    ...vs
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    ...Are there any other places where this choice causes some settings to be set?
    (I ask because I am working with a workspace that was generated from the Create Application wizard. Choosing the "Web Application [JSF, ADF BC]" Application Template doesn't allow the user to choose the web app version...)
    Thanks,

    Hi Scott,
    No, this choice only impacts the version of the Web Deployment Descriptor (web.xml).
    When you create your workspace from the Create Application wizard by selecting the "Web Application [JSF, ADF BC]" template, we suppose that you work with a J2EE 1.4 application (the current version).
    If for some reasons, you have to work with a J2EE 1.3 version, f.ex. because you have to use JSTL 1.0 (see "JSTL 1.0 in JSP 2.0 Pages" in http://blogs.oracle.com/Didier/2006/03/20#a10), then you should create your Web Project and select "Servlet 2.3\JSP 1.2 (J2EE 1.3)".
    Later, you have the option to upgrade your Deployment Descriptor to Servlet 2.4\JSP 2.0 (option in the right-click menu on the web.xml).
    Regards,
    Didier

  • Best SOAP Web Services Architecture for E-Commerce

    Hi there,
    I have developed an E-Commerce system following the normal way of
    developing Java web applications (all classes and JSP files in one Eclipse web project).
    I want to modularize the application, I want to split the application into
    two applications:
    1. The core app, with SOAP web services methods
    2. The client (front-end JSP files and some servlets to request/receive responses from the SOAP web services core app)
    Basically, I want the servlets in the client app to call the core SOAP web services app for data such as
    get product by ID, get customer by ID, etc...
    The core SOAP web services app would then return a response in an XML format, which I then
    would map to Java objects at the client application.
    My questions are:
    1. Is this the right way to go?
    2. Where should the session management be? At the client app?
    Hope you can help?
    I have been thinking about a proper architecture for 2 years and honestly it's been giving me sleeping problems.
    Thanks!

    It works. Thanks,
    Ioana
    "Neal Yin" <[email protected]> wrote:
    The error means your EJB is not deployed.
    Adding a EJB module to your application.xml file of the ear should fixe
    it.
    <application>
    <display-name />
    <module>
    <web>
    <web-uri>dox_sdi.war</web-uri>
    </web>
    </module>
    <module>
    <ejb>DocumentService.jar</ejb>
    </module>
    </application>
    "Ioana Meissner" <[email protected]> wrote in message
    news:3cf640cc$[email protected]..
    I have used the following example for my own web service with EJBcomponent and SOAP
    Message Handler Chain:
    http://e-docs.bea.com/wls/docs70/webServices/dd.html#1058208
    I have a deployment error:
    javax.naming.NameNotFoundException: Unable to resolve'app/ejb/DocumentService.j
    ar#DocumentService/home' Resolved: 'app/ejb'Unresolved:'DocumentService.jar#Doc
    umentService' ; remaining name 'DocumentService.jar#DocumentService/home'
    In attachement is the ear file.
    Is there a problem in web-services.xml?
    Thanks

  • How to change the application alias for a web project in NW7.2

    Hi,
    a simple question, but I could not manage to solve it: How do I change the application alias (the url) of a web project? I'm using Netweaver 7.2 and all the tutorials I found refer to earlier versions and do not work anymore.
    In particular, I would like to change e.g. "server.com/vendor~webbappname" (the standard url of the web project) to "server.com/mywebapp".
    Thanks in advance for your help!

    Hi,
    Try customizing the <context-root> element in the web.xml deployment descriptor, for example:
    <?xml version="1.0" encoding="ASCII"?>
    <application xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
              http://java.sun.com/xml/ns/javaee/application_5.xsd"
               version="5">
               <display-name>YourWebApp</display-name>
               <module>
                   <web>
                   <web-uri>YourWebApp.war</web-uri>
                   <context-root>mywebapp</context-root>
              </web>
         </module>
         <module>
              <ejb>YourWebAppEjb.jar</ejb>
         </module>
    </application>
    Afterwards, rebuild and redeploy your application.
    I hope that helps.
    Regards,
    Yordan

  • Netbeans - Enterprise project vs Web project

    This may seem like a kind of lame question, but having stuck with Vim for many months, Netbeans is my first venture into a proper IDE, and I want to make sure I become very familiar with it.
    Basically I was just wondering if someone could give me a more insightful breakdown of the differences between starting an Enterprise project within Netbeans, and starting a Web project. My understanding of an Enterprise project is that it is very much business-oriented, ie. relates to customer management, supply information, that sort of thing. But I really don't see the benefit in distinguishing such types of programs from general programs... in my eyes, it's like highlighting one particular category out of all the possible categories of software, for no apparent reason.

    This may seem like a kind of lame question, but
    having stuck with Vim for many months, Netbeans is my
    first venture into a proper IDE, and I want to make
    sure I become very familiar with it.More important than sticking with Vim is using the command shell, javac, java, and having a thorough understanding of how CLASSPATH works. Very good.
    There are others besides NetBeans, of course. Eclipse is free and not too bad. I prefer IntelliJ to both, in spite of the price.
    Basically I was just wondering if someone could give
    me a more insightful breakdown of the differences
    between starting an Enterprise project within
    Netbeans, and starting a Web project. What do you mean by "enterprise"? Is that one that uses EJBs?
    My
    understanding of an Enterprise project is that it is
    very much business-oriented, ie. relates to customer
    management, supply information, that sort of thing.No, you can do all those things using web apps without using EJBs. Does that make them less "enterprise"? I say no.
    But I really don't see the benefit in distinguishing
    such types of programs from general programs... in my
    eyes, it's like highlighting one particular category
    out of all the possible categories of software, for
    no apparent reason.I'll have to wait to hear your definition of "enterprise" before responding, but applications with and without EJBs are different. They certainly deploy differently - with EJBs use EAR files, without EJBs can get by with a WAR file. With EJEs required a Java EE container like Sun ONE, JBoss, Weblogic or Websphere. You can deploy a web app to all of those, or you can stick with a servlet/JSP engine like Tomcat.
    %

  • Project Architecture

    Hi..
    I am now hunting for job in Java..
    What does really a project architecture mean, while we are developing a project using JSP,Servlet and Struts . What a project flow diagram. Does both are almost same or different. What should be the answer of the question..(What is the architecture of your project ?) .
    Plz help me out !

    I guess the answer is something including the next explanations:
    - Develop language (Jave, in this case)
    - Kind of application (stand alone / web)
    If web application:
    - Web application server (Tomcat, Websphere, BEA Weblocig, etc.)
    - Developing technology: Struts (framework implementing MVC pattern), JSP (View), ActionServlet (Controller), JavaBeans-EJB (Model), etc.
    - Persistence: Hibernate (or other object persistence implementation) or DB access with SQL code embedded in Java code.

  • Applet location in a Web project

    Hi All,
    I have a question regarding deploying an applet in JDeveloper 10.1.3.
    The applet is part of a web project so when compiling the project the .class file ends up in WEB-INF/classes together with the servlet classes and not visible from the applet html page.
    What is the right way of handling this in JDeveloper?
    Currently I have created a different project for the applet and have it deployed as a jar file in the public_html directory of the webapp. Then I can "run" my webapp and the html applet page will be able to access the applet.
    Is there a better/automatic way of handling this?
    Thanks in advance
    Regards,
    Sebastian

    Sebastian,
    not that I am aware of. The issue you are running into is that the HTM page does a request to the class or jar file in the WEB-INF directory, which by definition is protected from direct browser access. I think the solution you worked out is elegant to use.
    Frank
    Ps.: I'll keep this thread reference to look at it for an ER or documentation

  • Jsp keep for a workshop web project

    hi
    i've created an ear with a web project in my workshop (wl9.2). I've published it through the workshop and it was running smoothly.
    I've entered the console of my server and checked the "jsp keep" flag of the web project. I've restarted the server (again, through the workshop). the server is loading the ear but not the war in it. this is the exception:
    <Unable to load descriptor C:\bea92\user_projects\w4WP_workspaces\Untitled\mega2web\build\weboutput/WEB-INF/weblogic.xml of module mega2web.war. The error is weblogic.descriptor.DescriptorException: VALIDATION PROBLEMS WERE FOUND
    C:\bea92\weblogic92\samples\domains\workshop\nullplan.xml:0: problem: cvc-complex-type.2.4a: Expected elements 'description@http://www.bea.com/ns/weblogic/90
    @http://www.bea.com/ns/weblogic/90' instead of 'jsp-descriptor@http://www.w3.org/2001/XMLSchema-instance' here in element weblogic-web-app@http://www.bea.com/ns/weblogic/90:<nullplan.xml>
    any ideas?
    thanks
    yair

    Hi Yair
    There should be a "Manage Cases" portlet under which you should be able to create cases / edit or update existing cases. I am sorry that you are not able to find it.
    Could you please call 1-888-232-7878 and the call coordinators will help you create a case and also will help you with esupport issues like creating cases etc. ?
    Please let them know that you are having issues creating a case with your esupport login.
    Thanks
    Vimala

  • Project Management Question - timelines for Production system deployment

    Hi
    I need an expert advice on setting up timelines for establishing an Oracle Apps Production environment. We are implementing Oracle HR & Payroll at an organization.
    Our system architecture is a 2-node application tier and 2-node DB tier (RAC). RAC is configured by another party and we only have to prepare the application tier (2 nodes)
    We would be installing Oracle Apps R11i (11.5.10) with jserv load balancing on the 2-nodes
    Can anyone suggest how much time this should take to install/configure & patching of the application tier (on 2 nodes)?
    Regards
    Saira

    Duplicate post (check your other thread):
    Project Management Question - timelines for Production system deployment
    Re: Project Management Question - timelines for Production system deployment

  • Architecture question, global VDI deployment

    I have an architecture question regarding the use of VDI in a global organization.
    We have a pilot VDI Core w/remote mysql setup with 2 hypervisor hosts. We want to bring up 2 more Hypervisor hosts (and VDI Secondaries) in another geographic location, where the local employees would need to connect desktops hosted from their physical location. What we don't want is to need to manage multiple VDI Cores. Ideally we would manage the entire VDI implementation from one pane of glass, having multiple Desktop Provider groups to represent the geographical locations.
    Is it possible to just setup VDI Additional Secondaries in the remote locations? What are the pros and cons of that?
    Thanks

    Yes, simply bind individual interfaces for each domain on your web server,
    one for each.
    Ensure the appropriate web servers are listening on the appropriate
    interfaces and it will work fine.
    "Paul S." <[email protected]> wrote in message
    news:407c68a1$[email protected]..
    >
    Hi,
    We want to host several applications which will be accessed as:
    www.oursite.com/app1 www.oursite.com/app2 (all using port 80 or 443)
    Is it possible to have a separate Weblogic domain for each application,all listening
    to ports 80 and 443?
    Thanks,
    Paul

Maybe you are looking for

  • [SOLVED] httrack - Can't get its GUI webhttrack to work

    I installed httrack v.3.41.3-1 from extra but can't get webhttrack, the GUI frontend, to work.  Running webhttrack as root gives me the following error message: "/usr/bin/webhttrack(17566): could not find httrack directory".  There seem to be a whole

  • Why so much code getting data out of DB & into web services

    I am new to Java and I am experimenting with web services. I am trying to get data out of a database and into a web service This is the code I had to build just to get a little bit of data out of a DB and into a web service. // Open a database connec

  • Kernel panic problem, nothing will fix it

    I've had about a dozen issues today with that gray screen telling me I need to restart my computer. I researched it and found out it's a kernel panic. I called Apple Support and I was instructed to verify my hard drive and then fix it via Utilities a

  • Elements 11 won't import my NEF files

    I"ll tried directly importing files as NEF and I've converting them to DNG usuing Adobe converter and still the error message says doesn't recognize files.  Help.  Frustrating.

  • Mail Client choice with PSE Organizer 12 / Windows 8.1

    The (french) doc says Edition > Preferences > partage (share) (Windows) Microsoft Outlook®, pour définir cette application comme messagerie par défaut.  (Windows) Microsoft Outlook, to define this option as the default mail system (Windows) Service d