Comparing ABAP development process with Model Driven Architecture concept

My Background
I am a postgraduate student writing a Masters Degree Dissertation titled “An Investigation into how compatible ERP Development Process is with Model Driven Development Philosophy: A SAP R/3 Case Study”.
The aim of this project is to compare ERP system development process with Model Driven Development (MDD) and to identify whether and how they can be used together. Model Driven Architecture (MDA) is Object Management Group’s (OMG) flavour of the MDD philosophy and is the paradigm that will be used here.
I have chosen SAP R/3 as my case study in order to narrow the research and want to explore the development processes/cycle involved in using ABAP/4 to reconfigure/customize SAP R/3 system during implementation.
An overview of the MDA concept according to OMG is given below. Following this, I’ve provided some questions that are open to discussions.
Overview of the MDA Concept
The Model Driven Architecture (MDA) is an approach to software systems development that separates the specification of system functionality from the specification of the implementation of the functionality on a specific technology platform. The MDA concept provides an open, vendor-neutral approach to system interoperability.
A recent study by the Middleware Company summarizes MDA paradigm as a development process that makes use of the following steps:
1.     Secure business requirements for an application.
2.     Develop UML diagrams for the domain model, independent of any particular technology (J2EE, Microsoft .NET, CORBA, etc). This UML model represents the core business services and components. This UML model is called Platform Independent Model (PIM) because it is completely technology-independent and will be the same regardless of whether you decided to use J2EE or .NET. You develop this UML model using UML modelling capabilities of an MDA-specific modelling tool.
3.     Build UML diagrams for the application, specific to a particular technology (J2EE, for example). This UML model will have design patterns. This UML model is called Platform Specific Model (PSM). You can build this manually, or you can generate much of it using an MDA tool and hand-tune only pieces of it that require customisation.
4.     Finally, generate the application code using an MDA tool. That is to say, instead of writing the application by hand based on the UML model, you generate the majority of it from the UML diagrams.
To develop an application using MDA, it is necessary to first build a PIM of the application, then transform this, using a standardised mapping into a PSM, and, finally, map the latter into the application code.
A mapping is a set of rules and techniques used to modify one model in order to get another model. In MDA, mappings are used for transforming:
1)     PIM to PIM. This transformation is used when models are enhanced, filtered or specialized during the development lifecycle without needing any platform dependent information. One of the most obvious mappings is the analysis to design models transformation. PIM to PIM mappings, are generally related to model refinement.
2)     PIM to PSM. This transformation is used when the PIM is sufficiently refined to be projected to the execution infrastructure. The projection is based on the platform characteristics. Describing these characteristics should be done using UML description. Going from a logical component model to a commercial existing component model is a kind of PIM to PSM mapping.
3)     PSM to PSM. This transformation is needed for component realization and deployment. PSM to PSM mapping are generally related to platform dependent model refinement.
4)     PSM to PIM. This transformation is required for abstracting models of existing implementations in a particular technology into a platform-independent model. This procedure often resembles a “mining” process that is hard to be fully automated. It may be supported by tools, though. Ideally, the result of this mapping will match the corresponding PIM to PSM mapping.
Questions/Discussions
1.     What specific stages are involved in development using ABAP/4? (e.g., requirements gathering, analysis, design, coding, etc)
2.     Do these stages fit into any traditional software development lifecycle? (e.g. waterfall model, v-model, etc)
3.     Which of the stages in (1) above best describes the Platform Independent Model (PIM) of the MDA concept above?
4.     Which of the stages in (1) above best describes the Platform Specific Model (PSM) of the MDA concept above?
5.     How does the Accelerated SAP roadmap relate to the MDA concept above?
6.     Assuming there’s a change in business requirements of a company that could lead to reconfiguring/customizing the R/3 system, how is this achieved? For instance, if a model has earlier been developed for that particular process, how does the change in the model affect coding/modification?
7.     How is coding achieved with respect to the reconfiguration of the business models or reference models?
8.     Are all coding manually done or are there tools in the ABAP Workbench that enable codes to be generated automatically from the models of the system?
9.     How much time is spent in coding compared to developing business models like EPC models?

I've also read about the SAP Composite Application Framework (CAF).
But it seems that it's only for Java development....

Similar Messages

  • ABAP Development Workbench with WAS 6.4 ?

    Where to get ABAP Development Workbench ?
    Hello sap gurus, I am new to ABAP. I alredy have SAP NetWeaver Enterprise Portal on MaxDB - Developer Edition Sneak Preview installed on my server. However I want to use the ABAP Development Workbench.  I do now want to buy a book with cds or go to the sap shop site to get minisap.
    Is there any way to Use ABAP Development Workbench with Web Application Server 6.4 or 6.1?
    If yes where to get the WAS 6.1?
    Thanks

    Hi,
    What you need to install is the ABAP stack. This would be on your Netweaver installation CDs. Please have a look at service.sap.com/instguides for more in-depth installation instructions.
    If you just have the Portal then you only have the Java stack (the Portal is really just an application deployed to the Java stack.)
    Also do soe searches on SDN on how to integrate the 2 stacks..,

  • Two ABAP Development Clients with Transport enabled in Development System

    Hello All,
    I have a unique situation in my development systems. We currently have two abap development clients with client settings which allows repository transports to be created. The reason for this setup is because there are two different abap development teams who want to work independently.
    Has anyone see two development clients in development system? Do you see any risk with having two abap development clients with transport enbaled? Should I force them to work in ONLY ONE ABAP development client?
    I would like to know your thoughts?
    Thx...Rocky

    Hello,
    It may not a good idea to have two development clients. You have to manage with the following issues:
    (1) Customizing transports need to be moved to two clients
    (2) You may have to peridically sync. them between each other with all the development objects
    (3) Data needs to refreshed in two clients for development/unit test purposes
    (4) Same object may be edited in two clients independently at the same time which is likely to go to Production at different times resulting in version sequencing issues
    (5) Vension of data of object will be lost if you want to retrieve old version.
    Thanks,
    Venu

  • How to Fill Sorted Data with model Driven Development

    Hello
    I am using model driven development. I am using getAll in the Fill method. But the results are not returned sorted by some field that I am interested in. How do I tell the Fill to sort it by some field. Is there some annotation that I can provided in the model...
    thanks
    RK

    You should be able to achieve what you want with an explicit criteria filter on your entity.
    In the Modeler Design view, select your entity and add a filter. You'll see that there is a an "Order By" field in the Properties view.
    Enter the value you want there and then save and redeploy your model. When you don't enter anything in the "Criteria" field, you create a getAll fill.
    Here's an example of an entity created with this type of filter; it is sorted by price in ascending order:
    <entity name="Product" persistent="true">
      <annotation name="ServerProperties" ServerType="LCDS"/>
      <annotation name="DMS" Table="PRODUCT"/>
      <annotation name="RDS" introspectedColumns="PRODUCTID,DESCRIPTION,PRICE,PRODUCTNAME"/>
      <annotation name="VisualModeler" width="115" height="110" x="364" y="203"/>
      <id name="productid" type="integer">
      <annotation name="DMS" ColumnName="PRODUCTID"/>
      </id>
      <property name="description" type="string" length="255">
      <annotation name="DMS" ColumnName="DESCRIPTION"/>
      </property>
      <property name="price" type="float">
      <annotation name="DMS" ColumnName="PRICE"/>
      </property>
      <property name="productname" type="string" length="255">
      <annotation name="DMS" ColumnName="PRODUCTNAME"/>
      </property>
      <filter name="MyFill" order="price ASC"/>
      </entity>

  • MDA (Model Driven Architecture) Discussion

    This is a topic that's been rearing its ugly head recently, and since this is the new home of ALT ...
    What do people think about MDA? I heard a developer the other day claim it was "the only way software engineering can mature as a branch of traditional engineering". Basically, this is the way to mass produce consistent (high) quality software. I think this is &#99;rap, but there you go ...
    The problems I have with MDA are:
    1. Are diagrams really the best representation of logic?
    2. Those people that claim MDA is a "silver bullet".
    3. The idea that an "architect" (i.e. probably me or you) will do the initial design and generate the framework, then any monkey with a keyboard can do the rest.
    Anyone got any thoughts on the matter? Any first hand experiences?

    I agree with you to the extent that I dont believe there to be one single methodology which can guarantee anything - all methodologies are afterall only as good as the people implementing them.
    In response to
    1) I would say that diagramming allows us to communicate the abstract ideas which form the basis of the early design of a system, and provides an excellent mechanism for charting, and justifying, changes in design. I would ask, what would you have in the place of diagrammatic models? I've worked on a few projects where the only design documentation was huge reams of narrative, extremely difficult to work from and maintain.
    2) Nothing is a magic bullet to producing robust, maintainable software (unless its test-driven development...), but models help us to share a common representational language for complex problems.
    3) I dont think thats the point - the best architects leave a great leeway to the individual developer in terms of implementation of the model (conversely, or course, $hit architects dont, but then, any project is ohly as good as its team members), and work closely during the development, so that the design model is not seen as something which is immutable, but is the reference point for kicking off development, and will undergo change as you work through iterations.
    Personally, having worked on projects with modelling, and those without, I'd rather work on those where there is extensive modelling going on.
    Just my sixpenn'orth...

  • How to restrict the generated constraint name with Model Driven Development

    Hello
    I have a database that has tables INSTRUMENT and EXCHANGE. There has to be a foreign key field called primaryExchange inside INSTRUMENT table that points to the ID of EXCHANGE table. In my fml file, my tables are called Instrument and Exchange. When I create this relation between the two tables in the model and deploy it to LCDS, it tries to create a FK constraint by the name of "FK_Instrument_primaryExchange_TO_Exchage" which fails with ORA-00972 -  Identifier is too long. Obviously the generated FK name is more than 30 chars and hence the oracle erorr. The only way to resolve this is to reduce the name of the table/field in the fml file while keeping the database table/field name intact. So the FK might be called FK_Instr_primExch_TO_Exch and which will work but the problem is that in the fml model file, I am loosing the meaningful names of the tables and thus the data services that are generated have truncated names. For this particular example, the truncated name might still be okay but in a large database, it is causing much grief. I would really prefer decent descriptive names for table like MarketOrder instead of MO. Pls advise how I can customize the generated constraint name while keeping the tables names still informative.
    Now I edit my DB tables to have a field called ID which is unique to that table but while deploying I get hibernate and fiber exceptions :-
    2011-03-10 16:30:44,042 INFO  [STDOUT] (http-0.0.0.0-8180-1) [UlltraWebServer]Exception trying to build hibernate's session factory: org.hibernate.MappingException: Repeated column in mapping for entity: UlltraWebServer.package4.Client column: ID (should be mapped with insert="false" update="false")
    2011-03-10 16:30:44,116 INFO  [STDOUT] (http-0.0.0.0-8180-1) [UlltraWebServer]Error instantiating application scoped instance of type 'fiber.data.assemblers.FiberAssembler' for destination 'UlltraWebServer.Holiday'.
    org.hibernate.MappingException: Repeated column in mapping for entity: UlltraWebServer.package4.Client column: ID (should be mapped with insert="false" update="false")
    2011-03-10 16:30:44,229 INFO  [STDOUT] (http-0.0.0.0-8180-1) [UlltraWebServer]Exception trying to build hibernate's session factory: org.hibernate.MappingException: Repeated column in mapping for entity: UlltraWebServer.package4.Client column: ID (should be mapped with insert="false" update="false")
    The above suggests that it does not like the same name for the fields in multiple tables, they all have to be unique like Holiday.holidayID, Client.clientID etc which causes the above constraint length violation issue..
    thanks

    You should be able to achieve what you want with an explicit criteria filter on your entity.
    In the Modeler Design view, select your entity and add a filter. You'll see that there is a an "Order By" field in the Properties view.
    Enter the value you want there and then save and redeploy your model. When you don't enter anything in the "Criteria" field, you create a getAll fill.
    Here's an example of an entity created with this type of filter; it is sorted by price in ascending order:
    <entity name="Product" persistent="true">
      <annotation name="ServerProperties" ServerType="LCDS"/>
      <annotation name="DMS" Table="PRODUCT"/>
      <annotation name="RDS" introspectedColumns="PRODUCTID,DESCRIPTION,PRICE,PRODUCTNAME"/>
      <annotation name="VisualModeler" width="115" height="110" x="364" y="203"/>
      <id name="productid" type="integer">
      <annotation name="DMS" ColumnName="PRODUCTID"/>
      </id>
      <property name="description" type="string" length="255">
      <annotation name="DMS" ColumnName="DESCRIPTION"/>
      </property>
      <property name="price" type="float">
      <annotation name="DMS" ColumnName="PRICE"/>
      </property>
      <property name="productname" type="string" length="255">
      <annotation name="DMS" ColumnName="PRODUCTNAME"/>
      </property>
      <filter name="MyFill" order="price ASC"/>
      </entity>

  • Model Driven Architecture

    Hi,
    Does SAP support the MDA approach of the OMG (aka Object Management Group)?
    If so, which UML modelling tool / code generation tool is provided?
    Regards
    Oliver

    Pran,
    thanks for your reply.
    I'm not quite sure if Together is a mda tool. Mda is a little bit more than UML roundtrip engineering, and mda is not mentioned on the borland site.
    Another question is, if sap officially supports mda and how it fits into the RAD approach of SAP (WebDynPRO perspective of Developer Studio).
    Regards
    Oliver

  • Where to get ABAP Development Workbench ?

    Hello sap gurus, I alredy have SAP NetWeaver Enterprise Portal on MaxDB - Developer Edition Sneak Preview installed on my server. However I want to use the ABAP Development Workbench.  I do now want to buy a book with cds or go to the sap shop site to get minisap.
    Is there any way to Use ABAP Development Workbench with Web Application Server 6.4 or 6.1?
    If yes where to get the WAS 6.1?
    Thanks

    Read the responses in your other posts of the same question.

  • Compare Merge Model problems with models from different connections

    Hi all,
    I've experienced a problem while using the compare/merge model funcion under tools.
    Just to put in place:
    I've 4 model, one for each enviroment that I have: DEV, INT, TEST, PROD(*each model imported from different connections*). Because I haven't found any reliable way to keep them sincronyzed, using DLL deltas. Is there a way to do that?
    Anyway, regarding the main subject problem. Whem I try to sync for example, from PROD, to TEST, using compare/merge model function under tools, the process find the differences. When I selecte those that I want, and click on merge, the destination model TEST, get the selected objects merged into.
    But now, the model Schema, when I select sincronyze model with data dictionary to get de DLL delta, things get crazy, and the merged objects doesn't get detected to be created.
    If it's help, I think that the is with the associated import connection than the merged objects have. They have the PROD connection name, instead of the TEST connection name. Also when I try to syncronize the relational model againts de data dictionary(database), datamodeler ask me wich connection to use, PROD or TEST. When, before, merging, model, data modeler did not ask me anything.
    Why is data modeler doing this?
    What I have seen is when you import in a model things from different connections/models, when you try to sincronyze agains a connection, all objects that are not from the selected connection doesn't get compared.
    Is there a bug or a problem?
    How can I can keep a schema in different enviroments, sync? What are the step that I shoulf follow?
    Thanks in advance.
    Edited by: morfeo8marc on 14-mar-2012 11:17

    I shall try to explain what is happening here.
    When you import objects from TEST data dictionary, their source information (see Summary info in Properties dialog) will refer to TEST.
    The relational model for TEST will contain source information (see Summary info in Properties dialog) for the connection to TEST.
    Similarly, imported objects from PROD will refer to the PROD data dictionary, and the PROD relational model will hold connection details for PROD.
    If you merge PROD objects into the TEST model, they will retain their source information (i.e. referring to PROD).
    The TEST model will be updated to include connection details to PROD.
    When you synchronize a model, if it only has one source connection, it uses that.
    If it has more than one, it will prompt you to decide to which data dictionary it should synchronize.
    In your case, for the TEST data dictionary, it will synchronize all objects that have source information for TEST (i.e. those imported from TEST).
    It will also compare any new objects (i.e. those not imported from a data dictionary).
    It will not compare objects that were imported from a different data dictionary (e.g. PROD).
    This supports the scenario where a model consists of objects imported from more than one data dictionary, and where the data dictionaries are maintained separately.
    We may need to review the above strategy in light of your experience and development process.
    In the meantime, may I suggest that from your updated TEST model, you Import from Data Dictionary using the TEST connection.
    The resulting Compare Models dialog should show all objects (i.e. those from TEST and PROD).
    You may need to set the Swap Models option to generate DDL with which to update your TEST data dictionary.
    Thank you for raising this matter.
    Regards,
    Tony Rose

  • SAP NetWeaver: SAP's Model-Driven Business Process Application?

    Hi All:
    I am a graduate student currently doing a research on 'Model-Driven Business Process Application'. I came across some literature about SAP NetWeaver during my research. SAP NetWeaver has generated a lot of interest in me and I would like to know more detailed information about it:
    How is SAP adopting BPM principles to manage Work-flows? Can we consider any of the current NetWeaver applications as model-driven?
    It would be great to know the answers to some of these questions. I would sincerely appreciate if anyone of you could please help me with this. Also, thank you very much for your time and efforts. I would be happy to assign reward points to any informative responses.
    Regards,
    Alok

    Refer to this link
    http://help.sap.com/saphelp_nw70/helpdata/EN/6e/fb9442047b0831e10000000a1550b0/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5045b3cc-acbe-2910-2bab-8d930cb31a33
    Regards, IA

  • How can I connect with SAP NetWeaver 7.01 SR1 SP3 ABAP Developer Edition

    Hello together,
    I downloaded and installed the SAP NetWeaver 7.01 SR1 SP3 ABAP Developer Edition on a virtual client.
    I toke a long period to finish the installation.
    Now some questions to use this system in the right way:
    1.) How can I get a "developer license" which do not expire? Because the link http://www.sap.com/minisap seems to be not ok.
    2.) How can I connect via network with the sap system? the application server is running on a vm client with a static ip i.e. 192.168.1.5. And my laptop gets a ip in the same range. I have installed the gui on my laptop and tried to connect with the system. But it does not work! I used as application server the ip of the virtual machine. I use the gui witch is installed on the same host like the application it works (with localhost as application server adress)
    3.) Where can I download the newest version of the SAP Gui? I do not have a service marktplace account? Is it possible?
    4.) I read in the documentation that it should be possible to reach the sap system also with web dynpro: http://localhost:8000/sap/bc/gui/sap/its/webgui?sap-client=000
    But it does not work. I got an error message: Service cannot be reached
    Note
    The termination occurred in system NSP with error code 403 and for the reason Forbidden.
    The selected virtual host was 0 .
    Regards
    Christian

    I fixed in the meantime the second problem. It was a problem with my local firewall. But the other three points are still open.
    Thank in advance for your help

  • ABAP Objects and table processing (with logical databases)

    I have a report that is written right now using procedural abap and a logical database.  The report is structured follows (high level):
    start-of-selection.
    get pernr.
      perform get_it0001 using wtab.
      perform get_it0002 using wtab.
      perform get_it0003 using wtab.
      append wtab to itab.
    end-of-selection.
      call function 'reuse_alv_grid_display'
        exporting
          i_structure_name       = 'itabstructure'
        tables
          t_outtab               = itab.
    So basically I'm going through a bunch of personnel numbers, getting a few infotypes and outputting to ALV.  I don't see where ABAP Objects is going to help me for this particular program. 
    Can somebody show me where OO ABAP would make this easier?  Does it even make sense to use OO when you're processing with a logical database?  (Not just PNP, but any logical database in general).
    Thanks in advance.

    Hello Lee
    I assume that the routines GET_ITnnnn are written by yourself. For reading infotypes ABAP Objects provides us with same very helpful classes as shown below:
    * define data
      DATA:
        gif_employee      type ref to if_pt_employee,
        go_employee       type ref to cl_pt_employee,
        gt_infotypes      TYPE tim_tmw_itlist_tab,
        go_control        TYPE REF TO if_pt_td_control,
        go_data           TYPE REF TO if_pt_td_base,
        go_pnnnn          TYPE REF TO if_pt_td_itnnnn,
        gt_p0001          TYPE TIM_P0001_TAB,
        gt_p0002          TYPE TIM_P0002_TAB,
        gt_p0003          TYPE TIM_P0003_TAB.
    start-of-selection.
    GET pernr.
    <b>* Create employee instance</b>
      gif_employee = cl_pt_employee=>get_employee( pernr ).
      go_employee ?= gif_employee.
    <b>* Get master infotypes (0001, 0002)</b>
      CALL METHOD go_employee->get_master_data
        EXPORTING
          im_begda = id_fromdate
          im_endda = id_todate
        IMPORTING
    *      EX_I0000 =
          EX_I0001 = gt_p0001
          EX_I0002 = gt_p0002
    *      EX_I0007 =
    *      EX_I0008 =
    <b>* Append all other required infotypes to itab</b>
      APPEND '0003' TO gt_infotypes.
      CALL METHOD go_employee->get_infotypes
        EXPORTING
          i_itlist      = gt_infotypes
          i_fromdate    = id_fromdate  " start date
          i_todate      = id_todate    " end date
    *      I_FILTER      =
          i_noauthcheck = 'X'
        IMPORTING
          e_result      = gt_infty_request
          e_retcd       = gd_retcd.
    * Please see documentation of parameter e_retcd...
      LOOP AT gt_infty_request INTO go_control.
        go_data = go_control->data.  <b>" get data object</b>
    *   Casting
        TRY.
            go_pnnnn ?= go_data.
          CATCH cx_sy_move_cast_error.
            CONTINUE.
        ENDTRY.
    <b>*   Convert infotype (semi-transparent -> transparent)</b>
        CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
          EXPORTING
            prelp = lo_pnnnn->prelp
          IMPORTING
            pnnnn = gs_p0003.
        APPEND gs_p0027 TO gt_p0003.
      ENDLOOP.
    The class CL_PT_EMPLOYEE provides us already with very easy access to so-called master infotypes (000, 0001, 0002, 0007 and 0008). All other infotypes can be read using method GET_INFOTYPES.
    Using these classes we have a very convenient and standardized way of accessing all kinds of infotypes.
    Regards
      Uwe

  • How to Integrate HCM Process with Webdynpro ABAP Application

    hi,
    I have issue regarding how to integrate HCM Process with Webdynpro abap application.
    I had created one HCM process for transfer using Hrasr_dt T code and also created form scenario and work flow.
    How to Integrate HCM Process with Webdynpro ABAP Application
    by
    Parthasarathi

    hi suhasini,
    Thanks for your reply,
    Can u explain in detail.. and Give any documents or links...
    by
    Parthasarathi

  • SAP CERTIFIED DEVELOPMENT PROFESSIONAL - ABAP SYSTEM INTERFACES WITH SAP

    Hello Experts
    I am Atush Rohan, I have done my "SAP Certified Development Associate - ABAP with SAP NetWeaver 7.0" on 3rd April 2009.
    I want to appear for "SAP Certified Development Professional - ABAP System Interfaces with SAP NetWeaver 7.0". I have about 3 and half years or experience in SAP ABAP. And I plan to give this certificate exam in the coming 6 months.
    Could you please tell me how i apply for this exam, and whether SAP provides the certificate material for the exam "P_ABAP_SI_70". Waiting for a positive reply.
    Regards
    Atush Rohan
    Edited by: Atush Rohan on Jul 30, 2009 1:21 PM

    hi,
    actually you can find your sid on your certificate itself ... your sid will start with SXX .. ok now along with this you will receive an envelope in which there would be an letter where detalis regarding your sid and password for login access in sap market place will be stated... so you can login with that in server market place.... usually you get this along with the certificate and is being provided by the centres authority...   now if you have not received it so you need to contact your centre and tell them to give it to you... if they dont barged then you can ask them for the concern guy's email .... this guy is the one who receives all the documents relating with your certificate .. now this guy is someone from sap labs banglore ...  also if you have not received your id card so you can mail him or tell your centre authority in that case now usually the centre guys take the matters lightly ...
    ok and as far as your certification exams goes i did search the pearson website they really dont have that professional certification for the abap guys but they do have one for functionals and some other....
    ok now you need to approach yout nearest certification centre in that case and simply ask them that you need to appear for level 2 certification also you can contact the sap labs banglore in that case but i know that they are not responding .....
    so in that matter you tell your centre that you need to schedule the certification they will charge you the certification amount and then will  schedule the date..... yes they can do that.
    hope this will surely help you!!!
    thanks & regards,
    Punit Raval.

  • Model 2 architecture only works with forms?

    Hi,
    I want to implement model 2 architecture for my application i have model as java classes, Controller the servlet and JSP the view.
    I want to know if this architecture is only for forms?.
    I want to implement for a event like when a hyper link is clicked then some method in my Java class is invoked and the result displayed on JSP.
    Can this be implemented using model 2 architecture ?
    Thank you.

    I want to know if this architecture is only for forms?.Forms are irrelevant.
    They just provide a way to enter and submit parameters from the user.
    You can just as easily use hyperlinks with parameters encoded on the URL. The server side handling for retrieving parameters remains the same: request.getParameter().
    However there are a couple of limitations because Hyperlinks can only use HTTP "GET", where forms can use HTTP "POST" as well.
    - parameters will be visible in the address bar
    - you have a limitation on a length of the parameters (Post doesn't have this limitation)
    The Model2 architecture is completely independant of whether you use get or post to submit your parameters. What makes it model2/mvc as opposed to model1 is that you run through a servlet layer, rather than doing absolutely everything in JSPs
    Cheers,
    evnafets

Maybe you are looking for