Find Jobs
Hire Freelancers

N-Tier CRUD++ Framework, with Snapshot Audit & Approval Workflows (using DDD, SOA, EF, WF, WCF, MSMQ, T4 Generation)(repost)

$500-3000 USD

Đã hủy
Đã đăng vào khoảng 13 năm trước

$500-3000 USD

Thanh toán khi bàn giao
Please read the detailed spec below and attached: **Summary:** Provide an N-tier framework using specified technologies, to satisfy standard CRUD operations. In addition to the standard CRUD operations, is a requirement for snapshot history, and configurable workflows; This snapshot history is key, a I require the ability to view historical versions of an entities and related entities (at that point in time), via the use of shadow tables. Such functionality should not impede performance, nor be a maintenance nightmare (i.e. Version History should be managed by the framework, without the need to manually create shadow tables and shadow tables CRUD) From a Technological point of view I would prefer to use particular technologies (as stated in the spec), but can be persuaded otherwise by the vendor. The framework is in 3 distinct parts, based on a Message Orientated Architecture, and targeting cutting edge MS Technologies. The primary aim is to provide a rapid mechanism to model a set of entities via Entity Framework, which are optionally extended via inheritance/abstract classes to provide richer than just CRUD functionality. Minimal amount of subsequent work should be required to make these newly defined entities into working code, so a maximum amount of reuse, but not total automated. Methods should be override-able to again provide flexibly. Key Technologies expected to use: T4 Templates, WCF, WF4, EF4, LINQ, MSMQ, [login to view URL], EntLib Key Architecture Design: DDD, TDD, SOA, MOA, STE POCO ## Deliverables The deliverable would be to provide a framework which encapsulates the following ### Business drivers * The ability to rapidly add new/change features to an application * Features would be realised by being able to add entities to a core EDM (enterprise data model) * This centralised change should cause a ripple effect which cascades through the layers. Model First Approach Customised business logic should not be overwritten (partial classes) * Centralised validation (picked and re-used by the UI, via data annotations) * A good use of OO to ensure common functionality is reused, not regenerated each time * Use of generics * Use of abstract/interface/partial and overrides * Good Layer separation (presentation / service / business / data access / database) * Each entity should maintain a full snapshot history. * To review the canonical changes * To revert back to a previous version * To review pending changes before approving them * Child objects change events to ripple up the object graph * Concurrency * *Sometimes* entities should be locked whilst people are editing them (checked out) * Plug-in workflows * The framework should be able to invoke configurable workflows for a given entity * On Before Save / On After Save / On Status Change * Robust * Long workflows should be avoided * Critical process/actions should not be solely reliant on a non re-creatable event (message orientated architecture) * Automated Tests * Enterprise Logging, Exception Handling (Entlib) * Good performance * Use of caching layers (EntLib) * Server side Pagination ### Using these technolgies * Domain Driven Design * starting with an entity model first, rather than logic in the stored procedures * Multiple Domains, rather than one monolithic EDM * Easier to provide automated unit tests * Message Orientated Architecture * All change events (on save, on status change) should create an tangible event in the form of a message (MSMQ) * A separate service ([login to view URL], WinScheduler or windows service) would pick up these messages and act on the accordingly * Use if configurable WF would be ideal here * Messages can be broadcasted to several queues * Messages will stick around until something picks them up, or they expire based on their retention policy * If the service fails, it will just require a to be restarted * Events could be batch generated/injected * STE POCO's, lightweight DTO with no business logic * Use of data annotations in the meta data * Disconnection object graphs * Decoupled SOA * It is expected to serve multiple presentations layers (de-coupled from the framework) * Silverlight, Web, Mobile * UI specific service interfaces should not be used (e.g. we should not use RIA Services) * Entity Framework 4 for EDM * Model first * This should generate the DDL * This should also generate the tables required to store version snapshot history, without the need to model the same entity again * Snapshot history should not be stored as a blob in a generic table. * Each Table should have an exact copy suffixed with _Shadow. * This _Shadow table will contain all previous history * Use theT4 built in generator to do the work, the entire back-end should be 5 simple steps * 1) Update the EDMX Domain Model which in turn should * a. Regenerate the STE POCO's, * b. Business Component Classes * c. Inherit from the appropriate abstract classes, such as * i. Version History Required * ii. Approval Workflow required * iii. Must Notify Entity X when changed * 2) Optionally, Manually * a. Add any Custom Business Logic * b. Create any specific Linq queries for the fetch * c. Any specific Database queries * d. Add any Sequential Workflows * 3) T4 generate the WCF Service Layer * a. Manually add additional / overrides * 4) T4 generate the standard unit tests (automatically generated by PEX) * a. Manually add additional * 5) Define event messages * Exceptions and Logging should be built into the framework, using the Enterprise library 5 * A series of standard configurable WF contracts should be created to handle * Approval Workflows * Alerts (send email from template, send SMS from template) * Invoke Stored Proc / Invoke Web Service / Invoke SSIS * Run a SSRS / Mail Merge / Move to print queue The expectation would be to provide source code, T4 Templates, a some working examples, via a Test Harness.
Mã dự án: 3226020

Về dự án

Dự án từ xa
Hoạt động 13 năm trước

Bạn muốn kiếm tiền?

Lợi ích khi chào giá trên Freelancer

Thiết lập ngân sách và thời gian
Nhận thanh toán cho công việc
Phác thảo đề xuất của bạn
Miễn phí đăng ký và cháo giá cho công việc

Về khách hàng

Cờ của UNITED KINGDOM
Leeds, United Kingdom
5,0
22
Phương thức thanh toán đã xác thực
Thành viên từ thg 1 29, 2002

Xác thực khách hàng

Cảm ơn bạn! Chúng tôi đã gửi email chứa đường link để bạn lấy tín dụng miễn phí.
Đã xảy ra lỗi trong khi gửi email của bạn. Hãy thử lại.
Người Dùng Đã Đăng Ký Tổng Số Việc Đã Đăng
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Đang tải xem trước
Đã cấp quyền truy cập vị trí.
Phiên đăng nhập của bạn đã hết hạn và bạn đã bị đăng xuất. Hãy đăng nhập lại.