Question

System Architecture Question

Asked by: WGIT

I have a Winforms applicaton that writes data to a SQLExpress Database while working offline.
The electronic Ticket is stored as a set of records in a few tables.
80+ Clients operate this way, and when they have a connection to the internet, send the records to a central database via an ASP.NET Web Service.

This has been used successfully for a year.
Another group wished to consume some of the data in their own central database.
Since they want to follow a distinct set of business rules, they wish to create an additional database on the client and in our central office to store their portion of the information.
Furthermore they do not want to use the existing web services, but have their data transmitted by the same client application via a WCF call.

This essentially splits 1 electronic document between 2 different databases both on the client, and on the office client, and does not use the existing tried and true transmission technology.

My solution is to store the records for an electronic document in the SAME database both at the client and on the central database side, and to use the same integrity and transmission checks already in place, but to integrate their validation rules in the client.

Our DBA has taken the position that as long as the data is not duplicated in more than one database, he does not care if it is split.

I am seeking opinions on this, since I do not see much technical reason in their proposal.
I am willing to be convinced othewise, but would like opinions from other application architects.

Are there any precidents for their approach?

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2009-10-07 at 22:21:34ID24794877
Tags

SLQ

,

Disconnected Application C#

,

SQL Express

,

Architecture

Topics

C# Programming Language

,

Software/Systems Design

,

Design & Methodology

Participating Experts
2
Points
500
Comments
7

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Lif of a DBA
    Hi, I have been developing software for the last 8 years..and I like it.But, I am at a point that I would like, maybee make a change in my IT career. So, I thought about being a DBA. So, what should I expect ? I am crazy to do this ? How is the money ? thanks
  2. .Net Architecture
    Help I am confused. How does the 3 tired architecture work within a .Net application. Correct me if iam wrong. When the users sends a request to the server ASP.Net handles this request which in turn passes it onto the business logic layer where .Net classes validate that t...
  3. All the Oracle DBA way?
    I'm new to this field,I mean Oracle database administration,I need to know what are the procedures.What is the best way to achieve your goals as a DBA.Should I read most books from the documentation ,should I read other books,should I only practice and if I don't know somethi...
  4. Convincing people of the benefits of .NET
    We are in the process of redeveloping a legacy system into a new architecture and I am trying to sell .NET for this but I can't think of a potential benefit that would convince a business person of this. So here goes and maybe you guys can come up with a reason. We need to ...
  5. database architecture
    Which databse architecture is best or what is the trend these days? Especially interms of sql and asp.net.

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: djjariesPosted on 2009-10-08 at 01:52:50ID: 25523221

I assume the data is closely related. Sending the data in two packets can provide problems since you introduce the possibility of partial dataloss.

Storing the data in two databases is irrelevant since you can write views that pulls the data from the different databases and combines it for the client. The only reason for doing it (in my opinion) is if you need access to part of the data very quickly and very often. This approach is mostly used when there are no funds for a full configured SQL-server. By making use of datacubes and restricting access to certain views, you can reach the same objectives.

Your DBA is correct to insist that the data is not duplicated. For performance, redundancy can be a good thing, but it should not be overdone.

Using WCF instead of web services is a technical descision and has nothing to do with the database itself. There are pro's and cons for each of them.

The main point here, as I see it, is WHY does the customer want a seperate database. I would suggest that a second database with the views and procedures to access the main database should be sufficient as well, but if they insist, you can create procedures to insert the data from the client and store the data in two different databases from within that procedure. With this approach, you can still maintain the single datapacket from the client-computers while complying with the customers specs.

 

by: WGITPosted on 2009-10-08 at 05:21:42ID: 25524524

Let me clarify a little.
This is a case when the information is already gathered in the core database of the application as part of the system that has been in production for a year.

Another group of developers have created another program that will be one of several consumers of the data, but they need the data validated and in a specific schema.  They are not the customer, but one of several consumers of the same data.

Although the data originates as a single technical document that is transmitted from the client and re-constituted on the other side to be processed, the second group of developers are arguing they have primary ownership of that data so it should be split off.
Also they have designed a transmission system in WCF, that has not been tested in the field yet, and their database does not exist yet.

My argument is that an existing system that does the same thing, should be modified to match the schema they need, and the transmisison method should not matter as long as they have access to the data.  Also, if the records are part of a logical document, I would argue that they should be stored in the same database as a matter of simple design architecture and is in my mind the most logical approach.

If all they need is to consume data that is already part of an existing design, why does it matter to the other group where they read the data from?  Both applications have access to the same databases on the central side, and they are only consuming a small part of the data.  



 

by: djjariesPosted on 2009-10-08 at 05:50:14ID: 25524767

The key point here is that the other group claims ownership of the data (and thereby the rights to give others access or not to that data). If they are the owners of the data, then they have the right to have it moved to a different database. However, that also means that they have the obligation of maintaining and validating the data and providing means of access to those that have the right to do so.

This is a discussion beyond that of the architecture. You are venturing into the realm of legal rights, laws and lawyers. The first point that has to be established is if they are (or are not) the primary owner of the data.

Technically, if the system is already producing data for over a year and several parties have access to that data, they cannot start claiming now that the data belongs to them, unless this has been stated at the beginning of the project.

 

by: mastooPosted on 2009-10-08 at 08:15:28ID: 25526372

I think you have sound points.  Also, it might not matter but you lose referential integrity between the two disparate databases and since backups are independent you'll possibly have stuff out of sync if either needs to recover from backups.  Having said that, trying to argue technical merits is futile is the decision is based on "other" factors as djjaries alludes to.

 

by: WGITPosted on 2009-10-09 at 06:26:34ID: 25534692

Well yesterday I saw a proposal that my application write data from one document to 3 separate CE databases.
I'ts not soemthing I would want to support, and it greatly increases the risk to client stability.

Other factors are right. I appreciate your input.  Since this is an opinion matter I'm not sure how to handle points on this one.

 

by: djjariesPosted on 2009-10-09 at 07:02:54ID: 25535053

Divide the points equally among contributers unless you see reason to do otherwise.

 

by: WGITPosted on 2009-10-12 at 10:50:04ID: 31638577

Thanks for the opinions gents.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...