Java Application Architecture Guide

691

Solution 1

The following should be helpful to you

  1. Core J2EE Patterns
  2. Effective Enterprise Java
  3. Patterns of Enterprise Application Architecture
  4. Head First Design Patterns
  5. J2EE Blueprints
  6. Sun Certified Enterprise Architect, Study Guide

Although, having had a quick glance at the document from codeplex, I can tell you that probably 70-80% of what is in there, applies to Java as well.

Solution 2

I apologize for not reading the very nice link you provided.

I will say that architecture ought to be a language-independent sort of thing. Once you understand the principles it ought to be a matter of mapping the features and implementation details of one platform onto the other.

I hesitate to post links to any Java EE standards, because the changes made in going to EJB 3.0 make a lot of the "best practices" of earlier versions obsolete.

Object-relational mapping is now embodied in JPA; Spring has introduced ideas like dependecy injection and aspect-oriented programming.

Right now I'd say that studying Spring would give you the best insight into Java best practices for enterprise architecture.

Solution 3

I am still downloading the document referenced, but from the description of the page I would think

a) A lot of it should be language independent, so it should apply to java as well.
b) Patterns of Enterprise Application Architecture might fit. (this as well is Platform/language independent.) You can read about the book here http://martinfowler.com/books.html

Edit:
I just skimmed over the document. Looks really interseting. I guess I need to spend some more time with it.

The references to .NET are extremly sparse in there and mainly list the apropriate pieces of the .NET technology stack for a given ara. e.g. Windows Mobile Something for implementing the client of a mobile application. In many cases this is really just marketing.

So the equivalent for Java would be to recommend the matching Sun solution. Like MySQL for a database. While this approach makes sense for MS, which would prefer their developers to be locked into MS stuff, it does not make sense for Sun/Java which have openess as the major selling argument. So a statement like 'use MS SQL Server for this' would turn into use, Oracle, db2, mysql, ms sql server, hsqldb, derby, informix, postrgres or any other database for this ... not very helpfull. So I guess it won't happen.

Share:
691
Brondahl
Author by

Brondahl

Updated on July 09, 2022

Comments

  • Brondahl
    Brondahl almost 2 years

    I was in the process of configuring DevOps to deploy my Dev ADF to the UAT ADF instance.

    I had come across the standard issue of the deploy not deleting out-dated pipelines, and attempted to use "Complete" deployment mode to resolve that.

    Whereupon DevOps entirely deleted the UAT ADF instance!

    Looking further at the docs, it appears that this is the expected behaviour if the factories are not in the ARM Templates. And looking at my ARM Template (generated entirely by ADF, and with [AFAIK] entirely standard settings), it confirms that the factory itself is NOT amongst the documented resources to be created.

    This seems ... odd.


    Am I missing something? How do I get the factory to be included in the ARM Template?

    Or alternatively, how can I use the "Complete" deployment mode without it deleting the target ADF instance?

    Note that the reason I don't want to use the "define a separate script to solve this" approach, is that it seems excessively complex when that the "Complete" mode sounds like it should do exactly what I want :) (If it weren't for this one oddity about deleting the factory)

  • Brondahl
    Brondahl over 3 years
    ugh, yuck :( How disappointing. I don't suppose you know any way to generate the initial Template for those things, from an existing Factory?
  • DreadedFrost
    DreadedFrost over 3 years
    @Brondahl Updated the answer to include one.
  • DreadedFrost
    DreadedFrost over 3 years
    @Brondahl if this was helpful please upvote the answer or provide feedback on what else can be provided.
  • Brondahl
    Brondahl over 3 years
    I will once I've had a chance to test it :D Alas I don't get direct control over my Azure context, so when I first screwed this up and deleted the ADF instance I had to get "The Azure Platform Team" to provision me a replacement. Which then means that I can sensibly test alternatives, in case they also delete the target. I'm planning to try to set up a What-If DevOps pipeline which should tell me whether this works.