Choosing architecture

Hi,
For my next project (academic, hobby), I am planning to add fine-grained multi-threading support to an existing open-source processor architecture. The OpenSPARC already includes this and I'll use it as a reference when needed. What I am thinking is to take another existing core from opencores.org and add this functionality. I have several questions to ask the experienced community.
My main decision now floats aroud selecting the core which will not only allow me to do this project, but also reuse my work in future multi-core, multi-threaded projects. That means that the open source I need to choose should be:
- an active project, so I am not the only person working on hardware/software support
- popular architecture/instruction set (mips, risc, v8, v9) to become fluent with industrially used uProcessors
- synthesizable steady code
- VHDL because that's what I know and I am short on time
With these in mind, I identified a few cores and would like to hear your opinion:
- what is the potential complexity
- how can tool availability affect this decision (leon3, openspac have lots)
- if Leon3, what's the potential to contribute to the community (it is mostly maintained by Gaisler research and not an individual after all)
Leon3
Tested, verified
Asic and FPGA-proven
VHDL
Open source, however is maintained by Gaisler Research in Sweden
Has a lot of tools, support and commercial interest (used for space missions)
Can be easily used for future projects due to above, so it is worth learning it
Plasma
FPGA-proven
VHDL
Active project started in 2001, maintained by an individual
Has success stories (complete TCP/IP stack implemented; robot control)
Potentially good processor for future projects
I am more inclined to use this core since it is not owned by any company, yet still supports tools and can be used in future
I can contribute to opensource community here
Open8 uRISC
Stable and active
VDHL
Supports v8 instructions
Comments:
I am not familiar with v8 and not sure whether it will be a better experience compared to other uPs.
OpenSPARC
Verilog--not familiar with
can use manuals and code as a reference

Hi.
From the processors that you mentioed I believe that the most complex and the most advanced is the Leon 3 processor. There is also a thesis that compares the Leon 3, the OpenRISC core and the microblaze, I think, processor cores in performance. Also Leon 3 has multicore support. During the last years I worked with Plasma core and the OpenRISC core (now with the OpenSPARC which is much more complicated) and I know both of them very well. For adding fine-grained multi-threading support, I believe that the best choises are the Leon 3 and the OpenRISC core. I can give you some usefull information about OpenRISC. OpenRISC has L1 instruction and data cache memories and a wishone interface that connects the processor core with the external memory. Wishbone interface can be configured as shared bus or a crossbar switch interconnection scheme. By default in OpenRISC is shared bus. The wishbone can gine you the opportunity to add more than one multithreaded cores at your final design. There is also a thesis in the net that creates a multicore OpenRISC (not multitreaded). Unfortunatelly I don't have the same knowlenge about Leon 3 processor and I can't help you so much but you can ask at Gaisler Research team.
Finally verilog I think that is easier than vhdl. At the beginning of my thesis I also have the same problem with you, but when I started using the verilog for the OpenSPARC core I forgot the vhdl. It is also an opportunity for you to learn more than one language.
Andreas

Similar Messages

  • Pricing procedure changes from R/3 to CRM

    Hi gurus,
    We want to change the pricing procedures in r/3 which involves changes to "From" and "to" calculation  and as the same pricing procedures are being used in CRM, how do we synchronise the same,
    Does system automatically replicate the changes ?
    We have to manually make the changes in CRM for the same ?
    Looking for valuable advise and suggestions gurus,
    Thanks in advance,
    Kind regards,
    Gopio.

    Hello Gopio
    It is quite a while since I worked on a CRM project. These are basically middleware transactions which you use to transfer Customizing, Master and Transactional data from R/3 to CRM.  Banking on my memory, here is the answer:
    Menu Path: While in SAP Easy Access screen, choose Architecture and Technology/ Middleware ® Data Exchange ® Initial Load ® Start.
    T code: R3AS.
    Then you have to monitor the status of the transfer and check if the transfer is complete by using
    Menu Path: Architecture and Technology/ Middleware/Monitoring , Data Exchange/ Monitor Objects or T code R3AM1.
    Finally use tcode SLG1 ( options: object: COND_EXCHANGE, subobject: CUSTOMIZING), to display a log for the data transfer.
    Hope this helps.

  • Infosets in segment builder

    Hey forum guys/ girls,
    I have learnt that we can have three sources for segments in Marketing. Marketing attributes, infoset query and bw infoset.
    Would like to know more about the second one. any links in help.sap. com etc are welcome.
    thanks.
    Jon

    Jon,
    Standard InfoSets queries are used in segmentation. Using this you can set any standard field of the BP as a filter criteria (just as you use marketing attributes). SAP provides a a way to use std data (stored in BP transaction) in segmentation via infoset query.
    These InfoSets can be accessed by choosing the input help for the field InfoSet Query in the transaction for maintaining data sources.
    To access this transaction, from the SAP Easy Access Menu, choose Marketing > Segmentation of Business Partners > Marketing Segments > Maintain Data Sources for Segment Builder.
    To define these InfoSets (for example, to view which table joins are used as data sources), use the SAP menu and choose Architecture and Technology > ABAP Workbench > Utilities > SAP Query > InfoSets.
    Double-click on the relevant InfoSet from the list and on the following screen choose for example Join Definition.
    For information on creating you own InfoSets, see the SAP Library under mySAP Technology Components > SAP Web Application Server > ABAP Workbench > SAP Query.
    Some of the std infoset available are:
    CRM_MKTTG_BP_BIRTHDATE           Birthday
    CRM_MKTTG_BP_ADDR          Business Partner Address
    CRM_MKTTG_BP_CENTRAL          Business Partner Master: Central Data
    CRM_MKTTG_BP_GRP           Business Partner Master: Relationships (Groups)
    CRM_MKTTG_BP_PER           Business Partner Master: Relationships (Persons)
    CRM_MKTTG_BP_BNK          Business Partner Master: Bank Data
    CRM_MKTTG_BP_BNK_CARD          Business Partner Master: Payment Card Data
    CRM_MKTTG_BP_GEN           Business Partner Personal Data
    CRM_MKTTG_BP_ORG           Business Partner: Contact Person Relations of Organizations
    CRM_MKTTG_BP_PRTFUNC           Business Partner: Partner Function
    CRM_MKTTG_BP_ORG_CDE           Contact Person Relationships for Organizations with Postal Code
    CRM_MKTTG_BP_PSTCD           CRM Marketing: Business partner by postal code
    CRM_MKTTG_BP_RESPNSE           Response Rate for E-Mail Hyperlink
    CRM_MKTTG_RFM                RFM Analysis
    For more info, search for standard infoset in help.sap.com
    Hope this helps.
    <b> <i> Julius Pereira </i> </b>

  • Mapping BW TO CRM?

    Hi Gurus
    How to Map BW info cube and BW info set to CRM
    Cheers
    Mahi

    hi
    Using InfoSets and BW Queries in the Segment Builder
    InfoSets and BW queries are used to access business partner master data (stored for example in the R/3 System) and transactional data stored in the SAP BW System respectively.
    The attributes used within these InfoSets and BW queries can be fields belonging to:
    ·         Business partner tables (business partner master data)
    ·         Key figures determined in SAP BW
    ·         Marketing attributes
    InfoSets
    To create InfoSets, from the SAP Easy Access menu, choose Architecture and Technology ® ABAP Workbench ® Utilities ® SAP Query ®  InfoSets.
    Any InfoSets you create for use in the Segment Builder must be created in a cross-client work area.  Therefore, on the interface for creating InfoSets, you should first choose Environment ® Query Areas, and select Global Area (Cross-Client). This setting ensures that your InfoSets appear for selection in the input help for the field InfoSet when creating data sources (Marketing ® Segmentation of Business Partners ® Marketing Segments ® Maintain Data Sources for Segment Builder).
    For information on how to create InfoSets, see the SAP Library under mySAP Technology Components ® ABAP Workbench (BC-DWB) ® SAP Query (BC-SRV-QUE).
    Tips for InfoSets
           1.      The most important and simplest point is that the Segment Builder creates target groups containing business partners. Therefore the InfoSet must make its selections using fields relating to the business partner and must be able to return business partner keys. Ideally these keys are GUIDs. If this is not possible (for example because this InfoSet lies in a system in which the GUID is not known, such as an SAP BW or an SAP R/3 System) then it must be a key that can be converted into a GUID in CRM. If this is the case, you must specify a function module in data source maintenance to perform the conversion in the field Function Module). For InfoSet queries, for example, we recommend function module CRM_MKTTG_PF_BP_TAB_TO_GUID, and for other data sources, CRM_MKTTG_PF_CONV_ID_TO_GUID is available.
    If the InfoSet is a table join, then it is safest to use BUT000 as the basis table.
           2.      If you are using a report program, then the structure belonging to this report must contain the business partner GUID (or a field that can be converted into the GUID).
           3.      The InfoSet should be constructed so that it contains every field that is required for selection in the Segment Builder and these fields only! When you create an InfoSet, the system displays the dialog box InfoSet: Title and Database. On this dialog box, ensure that you select the field No automatic text recognition (under Options) since otherwise the system will generate the texts for all the fields in the InfoSet behind which text fields are defined. These fields are then written into the InfoSet which may lower performance.
           4.      Do not build one large InfoSet containing a large number of joins. Instead, build InfoSets which join only those tables required for the selection attribute to be created. For example, if you want to create the selection attribute “Date of Birth” your InfoSet should use table BUT000 only (because “Date of Birth” is one of the fields in this table). It is not advisable to read the date of birth from an InfoSet which joins the BUT000 with the address table ADRC.
    Tips for BW Queries
    Query Definition
           1.      In the Business Explorer Analyzer (Business Explorer  ®Analyzer) ensure that you set the indicator "Release for OLE DB for OLAP" for the query (under Properties).
           2.      Ensure that your BW user is a dialog user, since otherwise the input field for queries in data source maintenance will not work (RFC connection between SAP BW and SAP CRM). To check this setting, in the BW system choose Tools ® Administration ® User Maintenance ® Users.  Under the Logon Data for the relevant user, ensure that Dialog is selected as User type.
           3.      Do not specify any variables as "required".
           4.      Ensure that the query has business partner as info object.
           5.      Ensure that the business partner is in the row, the key figures in the column(s).
           6.      Do not define any conditions for the key figures in the query itself. Instead define conditions in the Segment Builder by specifying filter values for the relevant attributes.
    Performance Points:
    To ensure the best possible system performance, try where possible to avoid:
           1.      Unnecessary characteristics, attributes, or key figures
           2.      Superfluous conditions or variables
           3.      Complex key figures
           4.      Large cubes
           5.      Complex hierarchies
           6.      A lot of coding in variables filled by means of user exits
    In addition, specify for characteristics either variables or restrictions but not both together.
    best regards
    ashish

  • Mass Delete of BDocs in SAP CRM system

    Dear SDC team,
    We like to hard delete some BDocs which are hanging in the txn SMW01 in CRM 5.2 system.
    As of now we do not see a option to delete these unnecessary BDocs,  as they are in Intermediate state (I04) .
    Please tell us if there any standard report which can be used to do Mass Delete of BDocs in SAP CRM system.
    Or Is there any Tables which need to be emptied .
    Please help ..Points would be rewarded .
    Regards
    Ritvij

    hi
    Concerning the BDOCs without error, there is a job that you can schedule to run daily that cleans the BDocs processed without errors from the database.
    The details of this job are:
    Job name: SMO6_REORG
    Job program: SMO6_REORG
    Variants: SAP_MW_REORG
    Trace data (days to hold): 7 (recomended by SAP)
    Trace log (days to hold): 7 (recomended by SAP)
    Period: daily.
    Besides i should tell you I looked through Help and there are no best practices that I could find.We went through this process at one of my clients. They had 40,000 pluserror'd BDOCs and thousands of processed ones. The Middleware guycreated a program to delete the BDOCs that were over 2 months old andhad completed successfully to prevent the further build up of theseBDOCs. SAP Help says they are marked for deletion after they areprocessed, but it doesn't look like they get removed as wanted..
    From SAP Help:
    Deleting Processed BDoc Messages
    1. Processed BDoc messages cannot be archived.
    2. BDoc messages that have been processed successfully are marked fordeletion.
    Procedure
    To delete processed BDoc messages choose Architecture and Technology >Middleware > Message Flow > Delete Processed BDoc Messages
    The messages you selected will be deleted.
    and regarding deletion of non errant Bdocs
    Usually there are two schools of thought on this issue:
    1) Make the hard decision to go back to the beginning and startcorrectly all the things that caused these to error out (bank codes, taxcodes, config on R/3 side but not on CRM side, etc.). Then these can bereprocessed and everything will be brought up to date in the system.This takes time and may neccesistate hiring a Middleware resource for ashort term to help go through the process. The big part of this isidentifying those config items that are out of synch between R/3 andCRM.
    2) The other way to handle these is to go through the errors quickly,gain an insight into the cause of the errors, and correct the bigthings. Delete all the old error'd BDOCs and then bring down all the bigitems again - BPs, Sales orders, products, and so forth. This is muchfaster process, but has it's own risks and problems vs Option 1 above.As these items come in, if you haven't fixed the config problems, theywill error out again. It's a fix and move - fix and move process. In theend you may have some missing data still, but the time commitment ismuch lower. You just need to get leadership's buy-in to this process.
    Those error'd BDOCs are a problem and point out all the datainconsistencies that exist in the system. They are also a drag onperformance and need to be processed one way or another. After that,keeping them under a "1000" number is imperative. If you don't, theproblem will get away from you again.
    finally Some Transaction Codes that people might find useful for working withBDOCs:
    SMW01 Display BDocs
    SMW02 Display BDoc Summary
    SMW02A BDoc Messages: Show Top N Errors
    SMW03 Show stats of unproc. BDoc messages
    SMW10 Bdoc structure chekker
    SMW19 Copy BDoc and process
    SMW20 Process BDocs
    SMW3EX1 Flow Carrier Example
    SMW3FDBDOC Maintain Bdoctype dep. Flows
    SMW3FDCUST Maintain Customer Flows
    SMW3FDIF Maintain Bdoctype dep. Attributes
    SMW3FDSTD Maintain Standard Flows
    SMW3RBM Convert BDoc Messages to XML
    SMW3RC BDoc Message Error Recovery
    SMW3RCW BDoc Message Error Processor
    SMW3STOP1 General Stop Configuration
    SMW3STOP2 BDoc Type Stop Configuration
    SMW3WD Watchdog for failed BDoc Messages
    SMW3_00 BDoc Type Settings
    SMW3_GSB Generic Bridge Activation
    SMW3_GSB2 Generic Synch. Bridge Configuration
    SMW3_GSB_SHOW Display Generic Synch Bridge Config
    SMWMBSTATDISP BDoc statistics
    hope info will help your cause,i told all this coz before deleting the Bdocs complete understanding of the errant and non errant Bdocs is necessary,
    best regards
    ashish

  • Bill Presentment Architecture, how to Overide Default Rule and ensure the AR Invoice/Transaction Chooses "Customer Transaction Data Source"

    Hi Intelligentsia,
      we are on 12.2.4 on linux, i have setup external template with supplementary Data source as "Customer Transaction Data Source", when i test it fails, i am not able to debug it , however when i run the BPA Transaction Print Program (Multiple Languages) it always gives me the default layout.
    Query is
    How do i ensure the Default rule Does not apply to my Invoice and i am able to override it
    is there a method to explicitly Ensure the Supplementary Data Source as "Customer Transaction Data Source", when i am creating the AR Invoice/ Transaction?  Am i missing some setup in AR Invoice Transaction Flexfield where i need to setup this "Customer Transaction Data Source" as the DFF Context ?
    please let me know if you need any more information.
    Abdulrahman

    Hello,
    Thanks for the answer. When you say rule data is that Rule creation date or the "Bill Creation From Date" that we setup while creating the rule? I have created a new invoice after the rule created, but it did not pick the new custom template.
    I have another issue. It would be greate if you could help. I have split my logo area into 2 vertically to display logo in one and legal entity and addres on the other one. In the Online Preview I can see the logo and Legal address. But in the print preview , i am not able to see them. It just shows a blank space. Any Idea?
    Thanks in advance

  • Need suggestion for choosing Java development enviroment

    Hi Evereyone,
    I am new to Java Desktop Application.I need help on choosing proper Java technologies and development tool.
    We have an existing CLIENT/SERVER based distributed control system, which was developed in C++(Server side) and VB(Client GUI).Now we are think of migrating the system to Java platform.
    Here is the outline:
    We want to create web based application that will run on windows and linux (linux on embedded PC).
    The application should be able to support 10 � 100 users at once accessing/editing database.
    We will also need to create a communication server that will run on web server P.C. that will communicate tcpip to field panels/log to db, as well as allow web screens to send/receive commands with field panels etc.
    Could any one give me some suggestion about it?
    I am thinking of Using J2SE 5.0, including RMI, JDBC and Swing for GUI. As for field panels, may choose J2ME.
    Thank you very much in advance.

    Thanks, zadok .
    Actually, I don't have the system requirements neither. All I know is the following outline:
    "We want to create web based application that will run on windows and linux (linux on embedded PC).
    The application should be able to support 10 � 100 users at once accessing/editing database.
    We will also need to create a communication server that will run on web server P.C. that will communicate tcpip to field panels/log to db, as well as allow web screens to send/receive commands with field panels etc."
    It is a interview question, which need me to do research and give some suggestions. What I want to know is to figure out what kind of Java technology is necessary for developing this system because I want to make sure I head to right direction.
    I know somehow it is hard to give suggestion based on this limited information.
    One more thing I was confusing is the server-side architecture.
    I need suggestion about sever side architecture:
    a. write a dedicated server-side program, which act
    as communication server to monitor and control field
    panel, also act as server-side applicaiton by using
    RMI to communicate with Client-side communication.
    b. choose a general web server architecture. Put
    everything in server side in Web Server, for example
    Tomcat AS container, implementing the Communication
    server as Web Service and the request from
    Client-side go to Web Server first, then dispatch to
    a proper web service.Why did you not include this information in the original question!
    Why don't you just use Tomcat?
    For your answer, "Why don't you just use Tomcat?", does it mean Tomcat without Web Service will be enough for this system development? Could you give me some detail about it?
    Thank you very much, zadok.

  • AutoCAD 2000 Architectural Desktop 3 installation in Windows 7 64 bit Professional

    How to get AutoCAD 2000 to install on a Windows 7 64 bit operating system.  The problem we were having was with the forced installation of Netmeeting from the AutoCAD installation disc.  Our solution at the time was to install AutoCAD on the Windows Virtual XP.  The XP mode created more problems than we were able to ignore because the XP mode is very watered down and does support proper graphics for the drafting software.  We decided to try another approach.  Take the AutoCAD 2000 installation disc (Architectural Desktop release 3 in our case, which is based on AutoCAD 2000) and create an ISO image of the disc.  I used MagicISO because it allowed me to make the image, and delete the folder for Netmeeting from the ISO image.  I believe it is under Support\NM in the ISO image.  Once the NM folder is deleted from your ISO image, burn the image onto a new disc.  It will fit onto a 700mb disc.  Then proceed with the installation of AutoCAD onto your Windows 7 machine.  It worked great for me, but my colleague is still having problems.  We suspect it is because he is still using the Beta version of Windows 7 64.  I am using the full Windows 7 64 Professional version.  We will be getting the full version for my colleague and trying the installation again.  Also, my colleague tells me there is a work around to get the express tools installed.  Keep checking back, we will be updating as we get new info.
    Cheers,
    James

    I know this is an old thread, but I would really like to install acad2000 on my new laptop.
    What does creating the ISO image do for you?  I did this and the iso doesn't automatically load or anything. I can try to run the setup copied to the ISO disc, but it does the same thing as the autocad installation disk. I get the error stating it is
    not compatible with my version of windows.  I'm trying to install acad2000 on a windows7 pro 64bit machine.
    Any help on this is greatly appreciated.
    Thanks
    Jason
    Jason ..... obviously you're not the only one reading this after it became an OLD thread!
    Go back in this thread (up above, that is) and find the response by -James on Tuesday, January 05, 2010 at 4:58 PM. I'll repeat his instructions here.
    1.  Open the ISO file with MagicISO. 
    1B. Look for folder \Support\nm.  Remove the "nm" folder.
    2.  Go ahead and install the software with Full/complete installation.  The installation may fail on you near the end. 
    If it fails....
    3.  Put your install disc back in the drive (the one you burned, the ISO disc), and choose uninstall from the menu.  After it unistalls, reboot your machine.
    4.  Now put the disc back in again, and redo your full/complete installation.  It should work this time.  (We have done these steps about 5 times on 2 seperate machines to verify it works because we have many machines that need to transition
    at some point...)  If it fails a second time, try steps 3-4 again.  If it fails a third time, let me know...
    Jason, IF you have returned to this forum, from there on you're on your own, unfortunately!
    Hope this helps .....

  • Architecture Student In search of a perfect laptop

    This is a student of Architecture from India.
    Since new to the field, now i do not use the rendering and all too much but with the advancement in semester, I would be using rendering and stuff too much!!
    I sometimes might have to do small video editings as well,,
    I have to buy a new laptop..
    I have gone through Apple macbook pro's' and have gone through various reviews onlne and found that apple macbook pro is kinda the master of all as of right now in terms of processing....
    But here i have a few questions.........
    1.] Is Mac suitable for an architecture students?? 'coz most of the softwares used in architectural field do not offer all the features in mac version!
    2.] So how is mac superior to Windows and would it really help me??
    3.] Next thing is if i go for Mac only......then which macbookpro should i choose?
             I would be needing atleast 256 GB[enough 'coz i would be storing most of the data on an external hard disk]
                                                   16 GB RAM
    The thing now is i want a laptop which is ultraportable..... 13inch macbook pro with Retina display seems to be the perfect model for that but it has Intel iris integrated graphics card whereas 15 inch has NVIDIA GeForce GT 750M with 2GB GDDR5 memory so I'm a bit confused....
    Would there be any problem if i purchase a 13 inch model with Intel Iris graphics card with 16 GB RAM or is there any option of customising the 13 inch laptop such that we could get the NVIDIA GeForce GT 750M with 2GB GDDR5 in that only??
    OR should i go for 15inch only?? [The problem with 15inch is that its screen size is too big..... and even the cost is out of my budget]
    4.] Is it possible to install Windows OS in Macbook pro??? If so, then how???
    It would be really helpful if you help me solving my problem!
    Thanks a lot!!!!!

    You have to find out the specific program requirements for your course of study. You want to be as compatible as possible with the technology used by your professors and other students. Call the school's architecture department and ask them their recommendation. If the other students and professors are using Windows computers perhaps you should also be using a Windows computer. You don't want to be burdened with incompatibility of assignments and group projects.

  • Portal Architecture

    The architecture I am setting up at my site involves multiple data sources. I hope that someone will comment on my architecture because I don't see anything like this in Oracle documentation (and am afraid I'm forgetting something).
    My only installation of Portal is on a dedicated host DB located on the app server machine (Solaris) where I have the rest of 9iAS installed. All the applications I render as portlets are implemented as JSPs that also reside on that mid-tier server.
    Users to my Portal pages have to choose one of several databases to use as data sources for those portlets/JSPs. All of these Oracle databases are located on servers other than the app server. What happens is that the JSPs perform a logon to the desired data source, grab (or manipulate) the data needed, and then logoff from the data source. The output from that JSP is still rendered onto the Portal page in the Portal host database and served back to client browser via Apache as normal.
    There were several reasons why we didn't use Portal-wizard-generated Applications for our portlets.
    1. We didn't feel them robust enough for our purposes.
    2. We didn't know how to deal with the multiple data-source problem with regular Portal Applications. Only way I saw were to use a huge number of database links because there was no way I could install (and keep synchronized) a Portal implementation in each of those databases.
    The setup I describe seems to work but I am interested in hearing from Oracle (or other DBA-types) what I should look out for. Also, if Oracle does describe a suggested architecture to handle multiple data sources from a central Portal host then I'd really like to see it.

    To me this seems like a classic Enterprise Application Integration (EAI) challenge that you have tried to overcome using a Portal framework...! It might be adequate in the short-term, but in the long-term you might want to look into an EAI solution in combination with your Portal.

  • Which is more in line with MVC architecture with Struts?

    Hello all
    When using the MVC Model 2 architecture, the JSP's are the view, servlets the control, and the beans are the model. If we say that a control method should represent a specific use case, then in theory, you should be able to call the control method from any interface to request that a specific use case be performed, whether it be over a simple socket connection receiving bytes, or using HTTP.
    However, when using jsp's/servlets, if thr servlet is the control, then it means that the interface must make the request using HTTP and contain a request/response object. But supposing you wanted to change the interface to request the same use case, but makes an http request but supplying XML (instead of several request parameters) which contains the request data, you cannot then simply use the same servlet use-case.
    So what is the solution? If you write another servlet to handle the different request format (XML) it copies a lot of the control code from the other servlet which is a bit messy. Or, would it be correct to write a seperate Controller class (standard Java class), which would contain a set of related use cases, and are called by the servlet. Each use case (which would be a method call in the controller class), would take in its parameter list the exact type and data it needs to complete the use case. In this case the servlets are simply pulling data from the HttpRequest object, converting them to the correct java type to be passed to the controller class you create.
    This introduces an extra layer; the servlet now sits between the request interface and control. It means that the control methods can be called from any type of interface, but is it the right way of doing things, and how would the new control objects be held in the servlet?
    Please could someone give their opinion on which they think is the best way of architecting this?
    Many thanks,
    Shaun.

    Shaun,
    I'm going through the same issues as I try to build my own MVC framework. Struts is useful, but does not cover everything. If you're interested, I've found that the book "Core J2EE Patterns - Best Practices and Design Strategies" by Alur, Crupi and Malks is very helpful. It contains design patterns for all the various tiers. It does not describe a framework, just a set of patterns from which you can pick and choose.
    In the example you describe, one of the applicable patterns is the "Session Facade" which is basically a high-level business interface. The goal is to hide the complexity of the entire business API from the client. The book recommends each facade to correspond to a related set of use cases. e.g. methods in one facade could include OpenAccount, CloseAccount, GetBalance etc. Implementation would be Java classes.
    This facade should be independent of the request protocol and could be used for HTTP, by a Java application, by a web service etc. Usually the facade classes would be located close to the business objects to minimize network delay and traffic.
    In your example, the controller servlet (Struts Action) would invoke services from the Session Facade.
    You're right about this introducing an extra layer. Depending on your present and future needs, you can end up with others such as abstracting the persistence layer. The trade-off is between up-front effort and future flexibility.
    You ask how to reference the new objects. In my case, the initialization servlet calls a factory class method to get references to the facades. These references are stored in an application-specific object that is added as a ServletContext attribute for use by other controller servlets.
    I know this doesn't fully answer your question, but hopefully it helps a little.

  • Aperture 2.1 is out today, with new open plugin architecture

    See press below. Sounds really great.
    08:30 28Mar08 PRN-Apple Releases Aperture 2.1 with Powerful Image Editing Plug-In Architecture
    CUPERTINO, Calif., March 28 /PRNewswire-FirstCall/ -- Apple(R) today
    released Aperture(TM) 2.1, which introduces an open plug-in architecture that
    makes it easy for photographers to use specialized third party imaging
    software right from within Aperture. Available today as a free software
    update, Aperture 2.1 includes the Apple-developed plug-in, Dodge & Burn, which
    adds brush-based tools for dodge (lighten), burn (darken), contrast,
    saturation, sharpen and blur. Over the coming months, third party software
    developers will deliver image editing plug-ins for localized editing, filters
    and effects, noise analysis and reduction, fisheye lens correction and more.
    "The image quality in Aperture 2 has won over the most demanding
    photographers," said Rob Schoeben, Apple's vice president of Applications
    Product Marketing. "Now, thanks to our open plug-in architecture, users can
    access an entire industry's worth of imaging expertise without ever leaving
    Aperture."
    "To date, maybe two percent of my photographs needed to be touched up
    outside Aperture," said John Stanmeyer, founding member of the VII Photo
    Agency and contributing photographer for Time and National Geographic
    magazines. "Now that I can dodge and burn right within Aperture's new plug-in,
    I can't imagine when I'll have to open any other application to tone my
    images."
    By clicking on one or more images within Aperture, users can choose from a
    menu of installed plug-ins and apply specialized imaging operations to either
    TIFF or RAW images. Apple is working closely with key developers to bring the
    most requested plug-ins to Aperture such as:
    -- Nik Software's Viveza plug-in, powered by U Point technology, which
    provides a powerful, precise and easy way for photographers to
    selectively control and adjust color and light in their digital images;
    -- PictureCode's Noise Ninja plug-in that delivers advanced high ISO noise
    analysis and reduction;
    -- Digital Film Tools' Power Stroke plug-in that features a simple,
    stroke-based interface to quickly mask and intuitively perform targeted
    adjustments;
    -- The Tiffen Company's Dfx plug-in that provides an expansive suite of
    creative filters and effects;
    -- dvGarage's dpMatte plug-in, which is a high performance chroma key tool
    for creating seamless composites, and the HDRtoner plug-in that enables
    the selection of multiple photos to create a single high dynamic range
    (HDR) image; and
    -- Image Trends' plug-ins that include Fisheye-Hemi to quickly and
    effortlessly correct fisheye lens distortion, ShineOff which
    automatically removes shine from faces and PearlyWhites that
    automatically whitens and brightens teeth.
    Pricing & Availability
    Aperture 2.1 is available immediately as a free software update to current
    Aperture 2.0 users. Full system requirements and more information on Aperture
    can be found at http://www.apple.com/aperture. Information and availability
    for third party imaging plug-ins can be found on
    http://www.apple.com/aperture/resources, http://www.apple.com/downloads and at
    the Aperture community site http://www.aperturepluggedin.com.

    more info on 2.1
    +Aperture 2.1 updates various features of the application and addresses issues related to performance and overall stability. The updates include the following:+
    +Dodge & Burn Plug-in. A sample plug-in is pre-installed, taking advantage of the Edit API introduced in Aperture 2.0. The plug-in adds brush-based tools for Dodge (Lighten), Burn (Darken), Contrast, Saturation, Sharpen and Blur.+
    +Customize Default Adjustment Set. You can now specify which adjustments appear by default in the Adjustments Inspector/HUD.+
    +Updated Crop Tool. A simplified UI makes it easier to preserve an image's original aspect ratio, match the aspect ratio of your display, or use one of the standard preset aspect ratios.+
    +Sorting in All Projects View. A contextual menu allows you to sort the All Projects view in ascending or descending date order.+
    +Show on Map. A contextual menu allows you to choose the Show on Map by right-clicking (or Control-clicking) on an image that contains GPS data.+
    +Access to Toolbar on Second Display. When using multiple displays in Full Screen mode, the Full Screen toolbar is now accessible on a second display.+
    +"Snapshots" book theme. This additional theme includes new "photo border" frames in which to place images.+
    +Flip Images. You can now flip images horizontally or vertically within Aperture.+
    +Vignette. The range of gamma and exposure settings available has been expanded.+
    +Save Books as JPEG or TIFF images. Automator actions have been added to Save as PDF pop-up menu in the Print Book window to automatically generate JPEG or TIFF images from book pages.+
    +Update EXIF from Master. This command allows Aperture to reread EXIF from a master images after they have been imported.+
    +Extended AppleScript support. The "Reveal" verb in the AppleScript dictionary has been extended to include containers such as projects and albums.+
    +The update includes fixes that impact the a number of areas, including:+
    +Image import+
    +Image migration+
    +Erasing memory cards after import+
    +Quick Preview+
    +Batch Change+
    Auto-stacking
    +All Projects view+
    Tooltips
    +Smart Albums+
    Tethering
    +Adjustments inspector+
    Viewer
    Loupe
    +White Balance+
    Definition
    +Lift & Stamp+
    +Handling of externally edited images+
    +Reconnecting referenced files+
    +Keyboard customization+
    +Deleting images+
    +Metadata presets+
    +Book themes+
    +Borderless printing+
    +Web Page/Web Journal export+
    +Exporting versions+
    +Export Plug-in support+
    +AppleScript support+
    +For further information about this update, see Late-Breaking News About Aperture 2, available at http://manuals.info.apple.com/en/Aperture2.0_lbnz.pdf+
    +The Aperture 2.1 Update is recommended for all Aperture 2 users.+
    they really listened to the users on this ... many of the requested, and oft griped about, features are now included ... keep 'em coming ...

  • Application Architecture Suggestions

    Hi,
    I'm currently writing a library/application which will integrate with a number of systems. The application will be used by other systems to generate HTML forms, for which there are definitions stored in a database, and to store the information saved in the form by system users.
    I'm new to Java EE and was wondering if anybody could point me in the general direction of technologies (or architecture) which I should be using (I'll define some rules bellow for what is required) and to suggest tools which I could use. I'm currently using JBoss AS 1.5 along with the JDK 1.6, MySQL 1.5 and Eclipse for an IDE.
    Here are some requirements for the system:
    - Must have a web interface to allow users to define a form (which will be stored in a database)
    - Must be able to dispense forms for use within a system
    - Must either be hosted in the application (i.e. a code library + database hosted in a system) or be a stand alone application which has its own database and which can tightly integrate with a system)
    - Must appear to the user that the form is tightly integrated in the system (e.g. looks the same, does not need to open in a pop-up window...)
    - Must be able to populate form fields with information stored in the system (I was thinking of web services for this part)
    - Must be able to store information entered in form in the system (e.g. a date of birth...) (Again I was thinking of web services for this part)
    I could do with some suggestions on possible architectures of how this should all fit together.
    I know this is a big ask but I'm close to giving up because I'm not sure where to start.
    Thanks in advance,
    J.Love

    J.Love wrote:
    Hi,
    I'm currently writing a library/application which will integrate with a number of systems. The application will be used by other systems to generate HTML forms, for which there are definitions stored in a database, and to store the information saved in the form by system users.
    I'm new to Java EE and was wondering if anybody could point me in the general direction of technologies (or architecture) which I should be using (I'll define some rules bellow for what is required) and to suggest tools which I could use. I'm currently using JBoss AS 1.5 along with the JDK 1.6, MySQL 1.5 and Eclipse for an IDE.
    JBoss AS 1.5? You should at least be on 4.2.x or 5.x.
    Here are some requirements for the system:
    - Must have a web interface to allow users to define a form (which will be stored in a database)Pick a MVC framework of your choosing. Spring MVC, JSF 2.0, Grails, etc. When you say "users to define a form". What does that mean? That users will drag and drop UI elements in a designer and then publish a web form for others to use?
    - Must be able to dispense forms for use within a systemAgain, I'm not clear on what you mean here.
    - Must either be hosted in the application (i.e. a code library + database hosted in a system) or be a stand alone application which has its own database and which can tightly integrate with a system) JBoss can handle this for you. Package everything appropriately as a WAR or EAR, preferably with a build tool such as Ant or Maven.
    - Must appear to the user that the form is tightly integrated in the system (e.g. looks the same, does not need to open in a pop-up window...)Again, is this a form the user has designed or simply one the user uses that you have designed?
    - Must be able to populate form fields with information stored in the system (I was thinking of web services for this part)Information stored in a system can be the filesystem or a database or a network resource somewhere else. The web service part is simply how clients will invoke your services. (Do a search on service-oriented architecture). Personally, I would opt not for a web service but for something simpler, like REST.
    - Must be able to store information entered in form in the system (e.g. a date of birth...) (Again I was thinking of web services for this part)
    Separate the protocol and format you are using (e.g., web service SOAP, JSON over REST, XML over HTTP POST, etc.) from the requirement for storage. You will generally have a controller receive a request and forward to a service (or have the service receive the request if there is no UI) and then delegate to a data access object to fetch and store data. See the MVC pattern generally and data access object pattern specifically.
    I could do with some suggestions on possible architectures of how this should all fit together.
    See the above. MVC is your first high-level separation. Then you likely want a service tier (see SOA). If you think it is merited, you can implement your service and controller tiers with the Command pattern, though this is optional. Don't worry so much about protocols and standards. Get things working first. Then worry about how clients will communicate with you.
    I know this is a big ask but I'm close to giving up because I'm not sure where to start.
    Hence, take it in small pieces. Get things working in memory. Then save things to the database. Then accept requests to do so from a web page. Then start choosing how you want things to work as a whole. If you are totally stuck, bottom-up often works. At some point, you will have to revisit things and go top-down. There's no right or wrong answer, just start coding and have an idea in your head (or on a napkin) of how things should flow and work. Use bubbles and arrows and nouns and verbs. Then translate those one at a time into working code. Wash, rinse, repeat.
    Thanks in advance,
    J.LoveBest of luck.
    - Saish

  • Did we implement SOA architecture

    Hi ,
    I am new to SOA and just wanted to know, whether we are on right tract to implement SOA architecture in our peoject or not.
    We have a landscape of five system .
    CRM 5.0
    ECC 6.0
    XI
    BI
    EP 7
    Now we are in a process to implement all the main processes in the system as a webservice.
    Just for an example , we have created a FM which would create a BP in CRM system, similarly we have created FM's for creating SERVICE ORDER in CRM system, PLAN and CAMPAIGN creatinn in CRM system.Like this we have lots of other small and big processes.
    Similarly we are trying to imlement all processes in ECC side as webservice.
    So my question is , once we have created webservice for all processes does it mean we have implemented SOA in our project?
    Regards
    PG

    Hi,
    Although you are already working on defining your own services, I'd strongly suggest taking a look at the ES Workplace for enterprise services already provided by SAP. As an example, the enterprise services for CRM contain predefined services for Business Partner Data Management and Campaign Management.
    The benefit of re-using these services is that these have been defined using a formal methodology, and in consultation with customers and partners. So you'll get industry best practice business services which you can customize if you want. SAP has an ecosystem around Enterprise Services Definition which any customer or partner can join. This way, they have a say on what SAP rolls out to customers.
    For an SOA Roadmap, I'd suggest taking a look at https://www.sdn.sap.com/irj/sdn/soa-methodology. This will help you in step-by-step progress towards SOA. Not all steps might be relevant so you can be choose whichever you consider appropriate. But it is good to have an end-to-end view.
    There are a lot of documents on SDN related to SOA Reference Architecture which SAP proposes. Please take some time out to look at it. /people/kareemullahshah.quadri/blog/2007/02/19/sap-architecture-150enterprise-soa-basics is also a good weblog on SOA and what SAP offers. /people/kareemullahshah.quadri/blog/2007/02/19/sap-architecture-150enterprise-soa-basics is good one for build vs. buy SOA.
    If you are a SAP shop, then it might be best to use SAP's SOA Reference Architecture as a guideline. If you have a mixed IT portfolio, please do review what other vendors like IBM, Oracle/BEA, etc suggest in terms of SOA reference architectures.
    An ESR will act as the central repository for your services and a must have for SOA implementations. You will find that in all SOA reference architectures. This helps you down the road when the number of enterprise services increases. Governance is a nightmare in SOA and ESR will help you in that. SOA Reference Architectures from SAP and other vendors contain necessary components you should have for an SOA landscape.
    Hope it helps. Feel free to post any questions that come to your mind.
    Regards,
    Shehryar

  • Alternative data architecture solutions

    Hi All,
    Does anybody know what is meant by "Alternative data architecture solutions"?, I know when working with computing systems and databases like Oracle, we can have several solutions to a problem, and we have to choose the best solutions among them depending on the current situation, so a general definition of "Alternative data solutions" can be that we can adapt different alternating approaches to solve a problem. But I want to know is there anything specifillay called "Alternative data architecture solution.
    I have seen a job description which has one requirement as shown below:
    Analyzing and evaluating alternative data architecture solutions to meet business problems/requirements and to comply with corporate data architectures, strategies and frameworks, including enterprise data warehouse activities
    ¨
    Can anyone please help me....
    Thanks,
    Amir.

    user566817 wrote:
    Hi All,
    Does anybody know what is meant by "Alternative data architecture solutions"?, I know when working with computing systems and databases like Oracle, we can have several solutions to a problem, and we have to choose the best solutions among them depending on the current situation, so a general definition of "Alternative data solutions" can be that we can adapt different alternating approaches to solve a problem. But I want to know is there anything specifillay called "Alternative data architecture solution.
    I have seen a job description which has one requirement as shown below:
    Analyzing and evaluating alternative data architecture solutions to meet business problems/requirements and to comply with corporate data architectures, strategies and frameworks, including enterprise data warehouse activities
    ¨
    Can anyone please help me....
    Thanks,
    Amir.No, there is no "special" meaning to "alternative data architecture solutions." It is not some professional jargon with a meaning known only to the cognizenti. It means just what you'd expect it to mean with common, non-technical definitions of the terms.
    "Sometimes a cigar is just a cigar."

Maybe you are looking for