Tag Info

New answers tagged

1

I would recommend the following: Implement the data layer using an established ORM framework. My favorite is myBatis, but JPA and Hibernate are definite contenders. Wrap the data layer with a Java API that supports only business operations (not CRUD operations)- e.g. Read customer details, enrol new customer, cancel customer, place order etc. That way you ...


2

Long story short: all in one. If you consider one of these as "master" and the other as an augmented replica, that updates are replicated one way only, and you can survive large latencies in synchronisation (and I'll let you define "large") then two separate DBs will work. For anything else I'd suggest a single DB. If you have two-way updates will they be ...


2

Something to consider might be a Master Data Management (MDM) approach. It would basically consist of an operational data store for each application, each using an ETL job or replication to synchronize with a master data store. Each operational data store schema can evolve independently, with the ETL job handling any necessary translations. How often ...


2

I used to work on a similar application, but the anticipated situation in my application would be very different from the way this site, facebook, twitter, or your application would work. This is just in case, this can somewhat give you some insight. I put both authentication data and business data in the same SQL database. The reasons are: When the ...


1

Just by the question, one cannot pinpoint a single pattern because there are multiple aspects to a pattern. Depending on how your service is architected, the pattern can vary. In general, however, what you specified is the overarching Service Abstraction design principle. Also, quite often a piece of software, especially at the scope of a web-service, is ...


1

What you're describing is essentially the Adapter design pattern. You have an external component that you want to use, but it's implementation and interface is not what you want to use within your enterprise. The fact that you're exposing your wrapper as a web service is irrelevant as the pattern is still the same. You're essentially wrapping an existing ...


0

When you build modular systems you have to think about how extensions will be permitted to manipulate/augment your exposed extension points. This always adds some complexity to a design, but when well done, provides for a superior product. Consider how various browsers are designed for plugins. Practially speaking I would build extension points on an ...



Top 50 recent answers are included