Design of first distributed architecture

Okay, so I'm trying to design and implement my first distributed project, and I want to make sure my general design is okay before I start. Like I say, I've never used J2EE before, and I'm still learning about it. This is very general.
Problem: Design a login system complete with the following aspects:
- A basic login window/applet that takes a username and password and verifies them. If they are valid (as determined by specific business logic), return a cookie (assume they are allowed for now) and allow the user access to the requested resources on the server. (Note: I think I'm using the term business logic correctly, but tell me if I'm not.)
- A basic registration window/applet that takes a user's information. Depending on the business logic, the user will be registered to the database for a certain access level or will become a �pending user,� which will be reviewed by an administrator before being allowed to access the server�s resources.
- An administrator�s window/applet that is basically a view of all that goes on in the server. This includes
* current users
* pending users
* audits
* files on the server
* any directory and access protocols
* server settings
Proposal: I plan to follow basic J2EE architecture patterns: The browser will allow access to all of the windows. The windows will call on servlets, which will call on EJBs to access the appropriate tables, all in the same database. I will make a servlet for each table category: UserServlet (for accessing the user list, maybe the list of pending users), AuditServlet, SettingsServlet, LdapServlet, etc.
Should I make a separate servlet and EJB for each category (as listed above)? I still have to read up on EJBs before I implement this.
So that is my basic skeleton, but I have no idea as to its quality. What do you think?
theAmerican

_dnoyeB said:
An EJB per table seems odd. You should consider some
form of ORM. Perhaps EJB3 will work for you. As I
understand it, and its beena while since i did j2ee,
EJB represents a thing, not a databaase table. i.e.
an EJB represents a person, not the person table.Okay, that makes sense. (The idea of one EJB/table didn't seem exactly right to me.) By ORM, you mean something like Hibernate or EJB3? (Could Spring be involved here? I know it isn't solely concerned with DBs.) I appreciate the advice.
Saish said:
I would also consider implementing an out-of-the-box controller
ala Struts or Spring rather than dozens of Servlets. I was thinking about using Spring. Would you recommend doing that before I even do my first distributed app? Also, which do you prefer: Struts or Spring? Thanks for the input.
Hoos said:
If you are using J2EE I would suggest you read up on the security services
provided by your J2EE container. It should provide you with instructions on
setting up realms etc and also provide components to access security data
in order to perform authentication and authorisation etc.
Unless you have need for extended security you will probably find that the
containers services means you wont need to write your own components e.g.
LoginEJB that checks usernames and passwords etc.Awesome. Thanks for the advice. I'll look into it. (This is just kindof an excercise to get my feet wet in distributed programming.) I may consider doing another project instead.
theAmerican

Similar Messages

  • Disconnected / Distributed Architecture

    I'm working with a customer that wants to implement a disconnected / distributed architecture. They have groups of inspectors that travel around the world, including 3rd world countries with no possibility of cellular data access. They have a pool of about 70 laptops that they use. Each person in the group of inspectors will have their own laptop and use it to do an on site evaluation. Currently they then export these as files and the existing software brings these files together in a report. The problem is it doesn't really work and the company that built it went out of business.
    Whenever I hear someone wanting to do disconnected mobile I strongly advise against it then run the other way. It's a very challenging problem to sync either the data or the app, let alone both. Someone else proposed APEX, and as much as I love APEX it just doesn't feel like the right technology. If skill-set weren't an issue, I'd probably build it in Adobe Air with a local SQL-Lite database that syncs up to the Oracle "mother-ship". At least Air has the concept of automatically updating the application whenever it connects built into it's core architecture.
    I have a few thoughts on syncing such as:
    - Roll your own data sync with PL/SQL over DB links. Should be less than 20 tables.
    - Advanced Replication
    - GoldenGate (if price is not an issue). Could possible sync the APEX_ tables to sync up the app too
    - Write a VB app that checks for application updates when they are connected, then downloads the APEX app and installs it
    So, my questions are:
    - Has anyone here done something similar in APEX? If so, can you discuss the details including data and application updates?
    - Has anyone done something similar with another technology stack?
    Tyler Muth
    http://tylermuth.wordpress.com
    "Applied Oracle Security: Developing Secure Database and Middleware Environments": http://sn.im/aos.book

    Hi Tyler,
    I share your first thougts - run the other way. ;)
    I haven't done something like that with APEX, but I guess using DB-Links is one option, but not the ideal one. Treating an application like data is possible, though the deployment could get a little tricky, if you want this to happen automaticly.
    - Of course, you could store the application archive as BLOB or even CLOB column in a table along with other meta data (e.g. build number, timestamp, etc.).
    - You could build an application that acts as update manager that stores information (build numbers, timestamps etc.) for locally installed applications and data, and looks up possible updates - for both data and applications.
    - I would try to do the data transfer with web services rather than using data base links. APEX-integration is getting better with every new version and it sounds more handy to me, especially error handling etc.
    Leaves you with the point how to deploy your application. Since the archive itself is SQL, you could download it using a select statement and simply execute them. There exists a nice API, but I don't know if you can use it within APEX easily. As for images and other items: Since you probably use a scenario with EPG as HTTP-Server for APEX, it should not be too hard to retrieve BLOB-data and load it into XDB.
    It get's a lot easier, if the inspectors would do the deployment part. Since this is not too complicated in APEX, it might be just the update manager that offers them the appropriate downloads.
    I'd be intrested to know how you actually realized this architecture, if you ever get it running before it get's you to run. ;)
    -Udo

  • BPEL 10.1.2 hub-and-spoke or distributed architecture?

    Hi,
    I'm currently wrestling with the following question:BPEL 10.1.2 hub-and-spoke or distributed architecture?
    Hi,
    I'm currently wrestling with the following question:
    An ESB as per definition of e.g. Forrester should be capable of supporting a distributed bus architecture. From my understanding this distributed bus architecture is achieved by installing some sort of ESB component(s) on all machines that are participating in this infrastructure, together forming a ‘bus’.
    As I understand the BPEL 10.1.2 product basically offers two categories of functionality: orchestration and integration. Does this integration part offer ESB alike functionality and more specific allows for a distributed bus architecture? As far as I can see the BPEL 10.1.2 offers limited ESB alike functionality and only supports a hub-and-spoke architecture.
    Other threads in this forum talk about using BPEL 10.1.2 together with InterConnect in order to foresee in ESB functionality. What does InterConnect add to the BPEL 10.1.2 integration functionality?
    As of SOA suite 10.1.3 these products have been split up into a BPEL product and an ESB product. Is the ESB product in SOA suite 10.1.3 a combination of the integration from BPEL 10.1.2 and InterConnect? Is this new ESB product able to support a distributed architecture?
    I’m very much in favor of a distributed architecture compared to hub-and-spoke, as hub-and-spoke requires a very solid and redundant system that is going to handling all message traffic and other functions. When moving towards a SOA giving an ESB a back-bone role, I’m not very keen on introducing a single system that should actually make up this ESB. Distributed would mean all machines are taking care of some basic functions resulting in a fully functional ESB, even when one or more machines are down.
    Am I making sense with this? I would like to know how others are looking at these topics.
    Regards,
    Gershon Janssen

    We are struggling with this issue too. The "all-pervasive" vision of the ESB visionaries, in my opinion, means that every node in my enterprise architecture should have access to the bus and I should be able to orchestrate anything that is running on any node in my architecture. We were told to think of an ESB as the equivalent of the hardware bus in computers. From that perspective I thought that:
    (1) BPEL and ESB functions would add a marginal increment to the licensing cost of an app server - I should be able to afford an "all-pervasive" architecture.
    (2) BPEL and ESB functions would add a "marginal increment" to the memory and resource foot-print. Again, I should be able to afford an "all-pervasive" architecture.
    Are these two satisfied by Oracle's products ? Some vendors don't seem to support the above two. In that case there is a disconnect between the marketing and technology departments of the vendors. What am I missing ?
    If BPEL engines and ESBs are priced very high, based on economics we will end up with a hub-and-spoke model.
    Thanks

  • I'm designing my first website using Fluid Grid Layouts. CSS question

    I'm designing my first website using CS6 and Fluid Grid Layouts so I need a lot of help. I realize CS6 creates something called a boilerplate css file. However, in addition to that file, do I have to create an individual external style sheet for my desktop, ipad, and smart phone pages (3 separate style sheets) or should I have only one external style sheet for everything?
    Or this is there another recommended way to use Fluid Grid Layouts?

    FluidGrid Layouts creates a boilerplate.css file, a respond.js file & a Fluid.css file for you -- you name it whatever you like.  I like to call mine Fluid.css so I remember what it is. 
    Fluid.css contains mobile first -- upon which all others are based.  Inside, CSS Media queries, you'll find code for tablet and later on desktop.  So one stylesheet generated by DW covers all 3.
    TIPS: 
    FluidGrids are very temperamental.  Do not tamper with boilerplate.css or Fluid.css files.  Instead create a separate external style sheet for your typography & other custom content styles.
    Build mobile first, then tablet and finally desktop.
    Keep your designs simple and uncluttered. 
    Don't worry about content until you get the layout perfected.
    Have fun with it .  You'll probably have to start over a few times before you get what you want.
    Nancy O.

  • How we create workflow using sharepoint designer for first review the documnet than go for approve the document.

    Hi to all
    I have team site in site collection under this i have Shared Document library. Now i want to create the workflow for the shared Document library. How i will create workflow using sharepoint designer for first review the documnet than go for approve
    the document.

    Hi ,
    According to your description, my understanding is that you want to create a workflow which contains review and approval process.
    For implemening your requirement, you can create a workflow containing two steps. The first step is used to collect user information and set workflow variables, and the second step is used to verify whether the reviewer approve. If the reviewers complete
    approving, a pproval workflow is started. The whole workflow is like :
    More information, please refer to the links below:
    http://www.documentmanagementworkflowinfo.com/sharepoint-video-tutorials/create-document-review-workflow-sharepoint-designer-2007.htm
    http://office.microsoft.com/en-us/sharepoint-designer-help/watch-this-design-a-document-review-workflow-solution-HA010256417.aspx
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • Distributed architecture using JAVA RMI

    Hi!
    I want to implement a distributed architecture, in which clients invoke any of several servers, depending on their availability. The clients are not browsers, so web-server (e.g. Tomcat) clustering is not relevant here. It's a cluster of servers, each capable of providing the same functionality, but clients should be able to "find" the less loaded one and invoke it. Now, with EJB's I believe this is provided out-of-the-box, but what about using RMI? How do two processes find each other via RMI, and is it possible to put a load-balancer in the middle?
    Is it possible to setup a load-balancer IP as RMI host endpoint?
    Thanks a lot
    A.

    They find one another using the rmiregistry tool from the JDK bin, which servers register with and clients use as a lookup. AFAIK this doesn't provide provision for anything resembling load balancing. Java RMI is a fairly basic facility.
    You should probably take a look at a framework like osgi.

  • Designing a message queuing architecture

    Hi,
    I am an engineering student working on a project that needs a message queuing system to be implemented to ensure a communication between different entities of the whole system.
    - Suppose we have three entities: A,B and C.
    - Each entity is configured with an IP Address.
    - I need to send messages between them: A to B, B to A, A to C, C to A, A to B and B to C.
    What would be the best architecture that fits my needs:
    - Must i run a broker on each entity?
    - What about using 2 Queues to ensure communication in two ways ...
    Any idea will be appreciated :)
    Thanks in advance.

    Hello imad,
    Sure a HA cluster is a good idea too, where clustered brokers have common queues. To move messages between queues, you can use the bridge service. The bridge service allows to clients send/receive messages from local queues, not taking care where the messages will be forwarded (or where did they come from). A good practice is to have a queue/topic for each purpose (e.q. A_to_B_send, A_to_B_reply, ..). So to have a two way communication, its better to use two separate queues.
    If you have an unreliable infrastructure and you still want the clients to connect, maybe you could have a look at the bridge service too. We have built a distributed messaging environment and to have RELIABLE connection, we did
    - run a message broker on each node (A, B, C)
    - you may have only one consumer for a queue, so if you want to distribute messages to more endoints, you will have to use a topic
    - set up bridges between queues (no circular ways)
    The bridge allows to sender to send messages, receivers to read messages even the network is down. When the network is connected, the messages are moved.
    Good luck
    Gabriel
    Edited by: user8961075 on 11.8.2011 15:07

  • Suggest some docs to do design my Webdynpro-MVC architecture Project

    Hi,
    I am doing design for my project.I'd like to know what are all the steps I have to follow & kept in mind before starting design.could anyone give the link to go thro before start design.I should follow MVC Architecture.
    ie. I should have 4 DC's---(a)UI (b)Service (c)DAI (d)DAM_R3
    Regards,
    Karthick.K.E

    Hello Karthick,
    Hope this document helps you to design WD application
    The title from the document is
    Designing Web Dynpro Applications
    http://help.sap.com/saphelp_nw04/helpdata/en/b1/d1e4f7c633fb47ac8b115087d5f2b6/frameset.htm
    The above link takes you to somehow to wrong title being Example: Using a Foreign Web Dynpro Component
    If you scroll up you find the topic that I mentioned above.
    Good Luck
    Regards,
    Dharmi
    Message was edited by: Dharmi Tanna

  • Distributed Architecture

    I have made plenty of Web Components using Servlets and JSP and deployed few EJB applications.
    I have been trying figure out for a long time how these applications work in real life scenario.
    Q1. What is the architecture of Server farms ?
    Q2. How these components are deployed on Servers. Do they deploy multiple copies of application on each server or what type of logic they use so that they are able to work efficiently, reliably ?
    Q3. What is the hardware configuration is used in Server farms ?
    Q4. Do Database Systems have extra memory to work with ? What happens if one Database Server is not enough ? If more than one Database Server is used, how they ensure they have same data.
    Q5. Can you give a case scenario or real life example.
    Thank you for reading my questions.

    gtjdjtnd wrote:
    I have made plenty of Web Components using Servlets and JSP and deployed few EJB applications.
    I have been trying figure out for a long time how these applications work in real life scenario.
    Q1. What is the architecture of Server farms ?Buildings with air conditioning. Usually rectangular, maybe square. Some rooms in them to house servers.
    Q2. How these components are deployed on Servers. Do they deploy multiple copies of application on each server or what type of logic they use so that they are able to work efficiently, reliably ? Maven POMs coupled with GNU make files.
    Q3. What is the hardware configuration is used in Server farms ?A processor, some memory, an I/O Bus, some storage.
    Q4. Do Database Systems have extra memory to work with ? What happens if one Database Server is not enough ? If more than one Database Server is used, how they ensure they have same data.No. No extra memory is needed. IF an extra DB server is required, it means a poor design. The architect should focus on doing more with less so that CEOs can keep their private jets and multi-million dollar bonuses.
    Q5. Can you give a case scenario or real life example.No. I work on Object-Oriented PL/1.
    Thank you for reading my questions.You are welcome/

  • Design Mobile FIrst?

    For my project, it's important that users see that our website is responsive, but mainly I'm designing for the desktop. I'm using CS6 and the fluid grid layout. My question is: is it ok to (A) start with the larger, desktop window (1000 x 615) then tweak the smaller sizes as necessary, or is there a functional reason to (B) start with the mobile size-- for example, to establish inherited properties-- then tweak the larager windows?
    thanks!
    I'm hoping the ans = "A" 

    I'm using CS6 and the fluid grid layout.
    My personal experience is that the DW fluid grid layout is great to experiment with. Once you become serious with RWD (Responsive Web Design), use a framework such as Bootstrap or my favourite Foundation http://foundation.zurb.com/
    My question is: is it ok to (A) start with the larger, desktop window (1000 x 615) then tweak the smaller sizes as necessary, or is there a functional reason to (B) start with the mobile size-- for example, to establish inherited properties-- then tweak the larager windows?
    Although Foundation has decided to go mobile first in their latest version, I am a firm believer, especially if you design your own system, that you will save a lot of time by going from large to small.
    For a great commercial package, have a look at http://www.projectseven.com/products/tools/composer/index.htm. I have not tried it, but it seems to have all of the right things including an equal column heights feature.

  • Installation of Hyperion Planning in a distributed Architecture

    Hi All,
    I am new to the world of Hyperion..
    I am trying to install Hyperion Palnning 11.1.1.1.0 in a distributed environment.. and facing difficulty deciding where each component should go..
    Here's a description of the Architecure In which i want to get Hyperion Planning up and running:
    One Windows server box -- EPMA should be installed on windows as i have read through the installation guides available ..
    Two AIX boxes -- have decided to put the database and Essbase on one and Planning on the other.
    I am using Oracle 11g as the daatbase. And Oracle App server for deployment.
    According to my understanding .. I need the following compenents to be installed for Planning...
    Shared Services
    Essbase --client , server , administrative services, provider services(for Smart office )
    Planning
    EPMA
    WorkSpace
    Can somebody plaese advice on how i should go about installing the components?
    An advice would be appreciated.
    Thanks in advance!!!

    Hello John,
    Thanks for replying..
    Now under Essbase in the config utility I have the following options
    Essbase --Essbase Custom Configuration
    Essbase Administration Services -- Configure Database, Deploy to Application server
    Habnet Server -- Deploy to Application Server
    Provider Services - Deploy to Application Server
    Smart Search - Deploy to Appplication Server
    Studio Configure Database
    So among these Shall i select only Essbase for installing the Essbase db..?
    Also can you please explain how does shared service work?
    Say i deployed Planning to the app server on the same machine and EPMA to the app server on the windows machine
    then how do they work together..?
    WIll i need to modify some properties file..?
    Thanks,
    Maya

  • Use of flat files in distributed architecture probs.

    Hi Guiess,
    I am working in a module in distributed environment.
    Its client is swing application.I have a one doubt and the doubt is -
    I am making some flow chart sort of thing at client side and saving this work in
    a flat file (java property file/xml file) at the server side.
    Could n e 1 suggest me that saving flat file at the server side would work,
    coz this file would share by multiple clients.And how locking facility j2e gives whilesomebody is modifing one file.
    Thnax in advance -
    Vikas Kumar

    Hi,
    side and saving this work in
    a flat file (java property file/xml file) at the
    server side.
    Could n e 1 suggest me that saving flat file at the
    server side would work,
    coz this file would share by multiple clients.And how
    locking facility j2e gives whilesomebody is modifing
    one file.Does "server side" mean EJBs? Is so, from the EJB 2.1 specs document, section 25.1.2 :
    "An enterprise bean must not use the java.io package to attempt to access files and directories in the file system.
    The file system APIs are not well-suited for business components to access data. Business components should use a resource manager API, such as JDBC, to store data."
    Just make sure you use a resource manager to access files.
    Kexkey

  • SAP MII 15.0:HANA as a back-end ! Distributed Architecture

    Dear MII Consultants & Architects,
    I have a query here regarding SAP MII 15.0 when it is deployed as de-centralized.
    Lets say there are 3 Plants.Each plant needs a local MII system.
    How a local MII system will interact with HANA if HANA is a central entity?
    Will all the local MII installations which have their respective SQL/Oracle do a SLT replication with HANA?
    Regards,
    Muddassar

    There's not just a single way to interact between MII & HANA; there are many options that are available so that we can support the underlying business scenario in the best way.  For options and architectures that support them have a look here:
    SAP MII, HANA/ESP and Lumira (Technical)
    I also have a technical architectures deck that I can share with you if you like just email me directly for it.
    Please let me know what you think of my post about MII & HANA,
    Sam

  • Is MVC2 a design pattern or architecture? for yes and no why?

    I am using JSF which follows MVC2. Is MVC2 a design pattern or architecture? For yes and no why? what is the difference between design pattern or architecture?

    Hi There,
    Maybe this will help answer your questions...
    Firstly, MVC2 is a proprietary name for the Microsoft .NET framework based around the Model-View-Controller pattern - it is an updated version of their first attempt - MVC.
    The Model-View-Controller pattern harks back to the days of SmallTalk, and as far as I am aware is not included in the original Gang Of Four design patterns, although there is no reason why it can't be considered a design pattern.
    Software architecture is about how different parts of the system fit (interface) together and how they relate, including static relationships (cardinality relationships, state) and processes (what happens when), it most often consists of many design patterns each used to address the various needs of a complete system.
    Hope this helps
    Rich

  • MII Architecture Design

    Hello Everyone,
        I am in a process of designing MII-12.0 architecture for the client. I have following questions
    1. Do we really need a seperate instance of MII production version for each plant? I would recommend
        each instance for important plants and regional wise MII instance for other plants.
    2. Also I am thinking of having a central development and Quality MII instance at the corporate level.So all
        the developments could be done centrally and it could be pushed to each plant as required.
    Please let me know if you think the above methodology could cause any problems.
    Thanks,
    Mahesh

    Hi Mahesh,
    I would be interested to know if you are using the central instance for reporting results, managing data, interfacing with SAP for each of the individual plants or are each of the plants essentially operating in a self-contained and independent manner? 
    If you are doing the first, perhaps you could give some more details on what you are trying to achieve. 
    If the second instance, then you should be fine with your setup depending on the network connectivity and server loading (Manisha's issues).
    Regards,
    Mike

Maybe you are looking for

  • Apple Mail Too Small to Read

    I read all my mail through the preview window and each message has a different font size, most too small for me to read. The preference font size doesn't seem to work (Isn't that only for outgoing mail anyway?) Is there anyway to make all the fonts i

  • Apple and Windows Wireless

    I'm not sure if someone's posted this before so sorry if this is a repeat! I'm also not terribly computer-savvy so be patient- I'm trying to be descriptive though I've not got a clue what I'm talking about! My whole family has Dell laptops but I'm th

  • Movie on iPad

    Just rented my first movie with Media Manager.and downloaded to iPad. Can view the Preview but not the movie. Just get aa blank scree except for the progress bar at the top.and thestart/stop bar at the bottom.. Time is counting down on the progress b

  • Add-on manager malfuction - AMO not working , search hnags, no list extensions

    Using FF 18.0.2 then 19.0 in linux mint 14 64-bit (since 26 Feb 2013) (Reprise of much earlier mess-up.) AMO has stopped functioning (new design is still rubbish anyway) Search stays at "Loading" always Extensions are not listed (Plug-ins are listed)

  • Is There a way to move an email list intact from one BC account to another

    Is There a way to move an email list intact from one BC account to another without any data loss or need for further formatting?