Azure Blockchain Workbench mimarisiAzure Blockchain Workbench architecture

Azure Blockchain Workbench Preview, birkaç Azure bileşeni kullanarak bir çözüm sağlayarak blockchain uygulama geliştirmeyi kolaylaştırır.Azure Blockchain Workbench Preview simplifies blockchain application development by providing a solution using several Azure components. Blockchain Workbench, Azure Marketi'nde bir çözüm şablonu kullanılarak dağıtılabilir.Blockchain Workbench can be deployed using a solution template in the Azure Marketplace. Şablon, blockchain yığını, istemci uygulama türü ve IoT tümleştirme desteği de dahil olmak üzere dağıtmak için modülleri ve bileşenleri seçmeniz için izin verir.The template allows you to pick modules and components to deploy including blockchain stack, type of client application, and support for IoT integration. Blockchain Workbench dağıtıldıktan sonra bir web uygulamasına, iOS uygulamasına ve Android uygulamasına erişim sağlar.Once deployed, Blockchain Workbench provides access to a web app, iOS app, and Android app.

Blockchain Çalışma Tezgahı mimarisi

Kimlik ve kimlik doğrulamaIdentity and authentication

Bir konsorsiyum Blockchain Workbench'i kullanarak kurumsal kimliklerini Azure Active Directory (Azure AD) kullanarak fesatlayabilir.Using Blockchain Workbench, a consortium can federate their enterprise identities using Azure Active Directory (Azure AD). Workbench, Azure AD'de depolanan kurumsal kimliklerle zincirleme kimlikler için yeni kullanıcı hesapları oluşturur.Workbench generates new user accounts for on-chain identities with the enterprise identities stored in Azure AD. Kimlik eşlemesi, istemci API'lerine ve uygulamalarına kimlik doğrulama girişinin kolaylaştırılmasını kolaylaştırır ve kuruluşların kimlik doğrulama ilkelerini kullanır.The identity mapping facilitates authenticated login to client APIs and applications and uses the authentication policies of organizations. Workbench ayrıca belirli bir akıllı sözleşme içinde belirli rollere kurumsal kimlikleri ilişkilendirmek için yeteneği sağlar.Workbench also provides the ability to associate enterprise identities to specific roles within a given smart contract. Buna ek olarak, Workbench ayrıca bu rollerin ne zaman ve hangi zamanda neler yapabileceğinizi belirlemek için bir mekanizma sağlar.In addition, Workbench also provides a mechanism to identify the actions those roles can take and at what time.

Blockchain Workbench dağıtıldıktan sonra, kullanıcılar blockchain Workbench ile istemci uygulamaları, REST tabanlı istemci API veya Mesajlaşma API'si aracılığıyla etkileşimde bulunmaktadır.After Blockchain Workbench is deployed, users interact with Blockchain Workbench either via the client applications, REST-based client API, or Messaging API. Her durumda etkileşimlerin Azure Etkin Dizin (Azure AD) veya aygıta özgü kimlik bilgileri aracılığıyla doğrulanması gerekir.In all cases, interactions must be authenticated, either via Azure Active Directory (Azure AD) or device-specific credentials.

Kullanıcılar, katılımcılara e-posta adreslerinde bir e-posta davetiyesi göndererek kimliklerini bir konsorsiyum azure AD'ye aktarır.Users federate their identities to a consortium Azure AD by sending an email invitation to participants at their email address. Oturum açarken, bu kullanıcıların adı, parolası ve ilkeleri kullanılarak kimlik doğrulaması yapılır.When logging in, these users are authenticated using the name, password, and policies. Örneğin, kuruluşlarının iki faktörlü kimlik doğrulaması.For example, two-factor authentication of their organization.

Azure AD, Blockchain Workbench erişimi olan tüm kullanıcıları yönetmek için kullanılır.Azure AD is used to manage all users who have access to Blockchain Workbench. Akıllı bir sözleşmeye bağlanan her aygıt, Azure AD ile de ilişkilidir.Each device connecting to a smart contract is also associated with Azure AD.

Azure AD, kullanıcıları özel bir yönetici grubuna atamak için de kullanılır.Azure AD is also used to assign users to a special administrator group. Yönetici grubuyla ilişkili kullanıcılara, sözleşmeleri dağıtma ve bir kullanıcıya sözleşmeye erişim izni verme de dahil olmak üzere Blockchain Workbench'teki haklara ve eylemlere erişim hakkı verilir.Users associated with the administrator group are granted access to rights and actions within Blockchain Workbench including deploying contracts and giving permissions to a user to access a contract. Bu grubun dışındaki kullanıcıların yönetici eylemlerine erişimi yoktur.Users outside this group do not have access to administrator actions.

İstemci uygulamalarıClient applications

Workbench, blockchain uygulamalarını doğrulamak, test etmek ve görüntülemek için kullanılabilecek web ve mobil cihazlar (iOS, Android) için otomatik olarak oluşturulan istemci uygulamaları sağlar.Workbench provides automatically generated client applications for web and mobile (iOS, Android), which can be used to validate, test, and view blockchain applications. Uygulama arabirimi akıllı sözleşme meta verilerine dayalı olarak dinamik olarak oluşturulur ve herhangi bir kullanım örneğini barındırabilir.The application interface is dynamically generated based on smart contract metadata and can accommodate any use case. İstemci uygulamaları Blockchain Workbench tarafından oluşturulan tam blockchain uygulamalarına kullanıcıya bakan bir ön uç sunar.The client applications deliver a user-facing front end to the complete blockchain applications generated by Blockchain Workbench. İstemci uygulamaları, Azure Etkin Dizini (Azure AD) aracılığıyla kullanıcıların kimliğini doğrular ve ardından akıllı sözleşmenin iş bağlamına uygun bir kullanıcı deneyimi sunar.Client applications authenticate users via Azure Active Directory (Azure AD) and then present a user experience tailored to the business context of the smart contract. Kullanıcı deneyimi yetkili kişiler tarafından yeni akıllı sözleşme örnekleri oluşturulmasını sağlar ve daha sonra akıllı sözleşme temsil iş sürecinde uygun noktalarda belirli türde işlemleri yürütmek için yeteneği sunar.The user experience enables the creation of new smart contract instances by authorized individuals and then presents the ability to execute certain types of transactions at appropriate points in the business process the smart contract represents.

Web uygulamasında, yetkili kullanıcılar Yönetici Konsolu'na erişebilir.In the web application, authorized users can access the Administrator Console. Konsol, Azure AD'deki Yönetici grubundaki kullanıcılar tarafından kullanılabilir ve aşağıdaki işlevlere erişim sağlar:The console is available to users in the Administrator group in Azure AD and provides access to the following functionality:

  • Microsoft'u dağıtma, popüler senaryolar için akıllı sözleşmeler sağladı.Deploy Microsoft provided smart contracts for popular scenarios. Örneğin, bir varlık transferi senaryosu.For example, an asset transfer scenario.
  • Kendi akıllı sözleşmelerini yükleyin ve dağıtın.Upload and deploy their own smart contracts.
  • Belirli bir rol bağlamında akıllı sözleşmeye kullanıcı erişimi atayın.Assign a user access to the smart contract in the context of a specific role.

Daha fazla bilgi için GitHub'daki Azure Blockchain Workbench örnek istemci uygulamalarınabakın.For more information, see the Azure Blockchain Workbench sample client applications on GitHub.

Ağ geçidi hizmeti API'siGateway service API

Blockchain Workbench, REST tabanlı ağ geçidi hizmeti API'sini içerir.Blockchain Workbench includes a REST-based gateway service API. Bir blockchain'e yazarken, API bir etkinlik aracısına ileti ler oluşturur ve iletler sunar.When writing to a blockchain, the API generates and delivers messages to an event broker. API tarafından veri istendiğinde, sorgular zincir dışı SQL veritabanına gönderilir.When data is requested by the API, queries are sent to the off-chain SQL database. SQL veritabanı, desteklenen akıllı sözleşmeler için bağlam ve yapılandırma bilgileri sağlayan zincir içi verilerin ve meta verilerin bir kopyasını içerir.The SQL database contains a replica of on-chain data and metadata that provides context and configuration information for supported smart contracts. Sorgular, sözleşmeiçin meta veriler tarafından bilgilendirilen bir biçimde zincir dışı yinelemeden gerekli verileri döndürer.Queries return the required data from the off-chain replica in a format informed by the metadata for the contract.

Geliştiriciler Blockchain Workbench istemci uygulamalarına güvenmeden blockchain çözümleri oluşturmak veya tümleştirmek için ağ geçidi hizmeti API'sine erişebilir.Developers can access the gateway service API to build or integrate blockchain solutions without relying on Blockchain Workbench client apps.

Not

API'ye kimlik doğrulamaerişimini etkinleştirmek için Azure Active Directory'de iki istemci uygulaması kaydedilir.To enable authenticated access to the API, two client applications are registered in Azure Active Directory. Azure Etkin Dizin, her uygulama türünde (yerel ve web) farklı uygulama kayıtları gerektirir.Azure Active Directory requires distinct application registrations each application type (native and web).

Gelen iletiler için ileti aracısıMessage broker for incoming messages

Doğrudan Blockchain Workbench'e ileti göndermek isteyen geliştiriciler, iletileri doğrudan Servis Veri Yolu'na gönderebilir.Developers who want to send messages directly to Blockchain Workbench can send messages directly to Service Bus. Örneğin, iletiAPI sistemden sisteme tümleştirme veya IoT aygıtları için kullanılabilir.For example, messages API could be used for system-to-system integration or IoT devices.

Downstream tüketiciler için mesaj komisyoncusuMessage broker for downstream consumers

Uygulamanın yaşam döngüsü sırasında olaylar oluşur.During the lifecycle of the application, events occur. Olaylar Ağ Geçidi API'sı veya genel muhasebetarafından tetiklenebilir.Events can be triggered by the Gateway API or on the ledger. Olay bildirimleri, olaya göre akış aşağı kodu başlatabilir.Event notifications can initiate downstream code based on the event.

Blockchain Workbench otomatik olarak iki tür etkinlik tüketicisi dağıtır.Blockchain Workbench automatically deploys two types of event consumers. Bir tüketici, zincirdışı SQL mağazasını doldurmak için blockchain olayları tarafından tetiklenir.One consumer is triggered by blockchain events to populate the off-chain SQL store. Diğer tüketici, belgelerin yüklenmesi ve saklanması ile ilgili OLARAK API tarafından oluşturulan olaylar için meta verileri yakalamaktır.The other consumer is to capture metadata for events generated by the API related to the upload and storage of documents.

İleti tüketicilerMessage consumers

İleti tüketiciler servis veri servisinden mesaj alır.Message consumers take messages from Service Bus. İleti tüketicileri için temel olay modeli, ek hizmet ve sistemlerin genişletilmesine olanak tanır.The underlying eventing model for message consumers allows for extensions of additional services and systems. Örneğin, CosmosDB'yi doldurmak veya Iletileri Azure Akış Analitiği'ni kullanarak değerlendirmek için destek ekleyebilirsiniz.For example, you could add support to populate CosmosDB or evaluate messages using Azure Streaming Analytics. Aşağıdaki bölümlerde blockchain Workbench'e dahil edilen mesaj tüketicilerin açıklayınız.The following sections describe the message consumers included in Blockchain Workbench.

Dağıtılmış genel muhasebe tüketicisiDistributed ledger consumer

Dağıtılmış genel muhasebe teknolojisi (DLT) iletileri, blockchain'e yazılacak işlemler için meta verileri içerir.Distributed ledger technology (DLT) messages contain the metadata for transactions to be written to the blockchain. Tüketici iletileri alır ve verileri bir işlem oluşturucu, imzalayan ve yönlendiriciye iter.The consumer retrieves the messages and pushes the data to a transaction builder, signer, and router.

Veritabanı tüketiciDatabase consumer

Veritabanı tüketicisi Service Bus'tan iletialır ve verileri SQL veritabanı gibi bağlı bir veritabanına iter.The database consumer takes messages from Service Bus and pushes the data to an attached database, such as SQL database.

Depolama tüketicisiStorage consumer

Depolama tüketicisi Servis Veri Servisi'nden ileti alır ve verileri ekli bir depolama alanına iter.The storage consumer takes messages from Service Bus and pushes data to an attached storage. Örneğin, hashed belgeleri Azure Depolama'da depolama.For example, storing hashed documents in Azure Storage.

İşlem oluşturucu ve imzalayanTransaction builder and signer

Gelen ileti aracısındaki bir iletinin blockchain'e yazılması gerekiyorsa, dlt tüketicisi tarafından işlenir.If a message on the inbound message broker needs to be written to the blockchain, it will be processed by the DLT consumer. DLT tüketicisi, yürütülmesi istenen bir işlem için meta veri içeren iletiyi alan ve bilgileri işlem oluşturucusu ve imzalayanagönderen bir hizmettir.The DLT consumer is a service, which retrieves the message containing metadata for a desired transaction to execute and then sends the information to the transaction builder and signer. İşlem oluşturucu ve imzalayan, verilere ve istenilen blockchain hedefine dayalı bir blockchain işlemi bir araya getirmektedir.The transaction builder and signer assembles a blockchain transaction based on the data and the desired blockchain destination. Bir kez monte edildikten sonra, hareket imzalanır.Once assembled, the transaction is signed. Özel anahtarlar Azure Key Vault'ta saklanır.Private keys are stored in Azure Key Vault.

Blockchain Workbench Key Vault'tan uygun özel anahtarı alır ve işlemi Key Vault'un dışında imzalar.Blockchain Workbench retrieves the appropriate private key from Key Vault and signs the transaction outside of Key Vault. İmzalandıktan sonra, hareket hareket yönlendiricilerine ve genel muhasebelerine gönderilir.Once signed, the transaction is sent to transaction routers and ledgers.

İşlem yönlendiricileri ve genel muhasebeleriTransaction routers and ledgers

İşlem yönlendiricileri ve defterleri imzalı işlemleri alır ve bunları uygun blockchain'e yönlendirir.Transaction routers and ledgers take signed transactions and route them to the appropriate blockchain. Şu anda Blockchain Workbench, Ethereum'u hedef blockchain olarak desteklemektedir.Currently, Blockchain Workbench supports Ethereum as its target blockchain.

DLT izleyicisiDLT watcher

Dağıtılmış genel muhasebe teknolojisi (DLT) izleyicisi, Blockchain Workbench'e bağlı blok zincirlerinde meydana gelen olayları izler.A distributed ledger technology (DLT) watcher monitors events occurring on block chains attached to Blockchain Workbench. Olaylar bireyler ve sistemlerle ilgili bilgileri yansıtır.Events reflect information relevant to individuals and systems. Örneğin, yeni sözleşme örneklerinin oluşturulması, hareketlerin yürütülmesi ve durum değişiklikleri.For example, the creation of new contract instances, execution of transactions, and changes of state. Olaylar yakalanır ve giden mesaj aracısına gönderilir, böylece aşağı akım tüketiciler tarafından tüketilebilir.The events are captured and sent to the outbound message broker, so they can be consumed by downstream consumers.

Örneğin, SQL tüketicisi olayları izler, bunları tüketir ve SQL veritabanını dahil edilen değerlerle doldurur.For example, the SQL consumer monitors events, consumes them, and populates the SQL database with the included values. Kopya, zincirleme bir mağazada zincir içi verilerin bir kopyasının yeniden bir ekidir.The copy enables recreation of a replica of on-chain data in an off-chain store.

Azure SQL veritabanıAzure SQL database

Blockchain Workbench'e bağlı Azure SQL veritabanı sözleşme tanımlarını, yapılandırma meta verilerini ve blockchain'de depolanan verilerin SQL'e erişilebilen bir kopyasını depolar.The Azure SQL database attached to Blockchain Workbench stores contract definitions, configuration metadata, and a SQL-accessible replica of data stored in the blockchain. Bu veriler, doğrudan veritabanına erişilerek kolayca sorgulanabilir, görselleştirilebilir veya çözümlenebilir.This data can easily be queried, visualized, or analyzed by directly accessing the database. Geliştiriciler ve diğer kullanıcılar veritabanını raporlama, analitik veya diğer veri merkezli tümleştirmeler için kullanabilir.Developers and other users can use the database for reporting, analytics, or other data-centric integrations. Örneğin, kullanıcılar Power BI kullanarak işlem verilerini görselleştirebilir.For example, users can visualize transaction data using Power BI.

Bu zincir dışı depolama, kurumsal kuruluşların blockchain genel muhasebesi yerine SQL'deki verileri sorgulama olanağı sağlar.This off-chain storage provides the ability for enterprise organizations to query data in SQL rather than in a blockchain ledger. Ayrıca, blockchain teknoloji yığınlarının agnostik standartlaştırarak, zincir dışı depolama, raporlar ve diğer yapılar projeler, senaryolar ve kuruluşlar arasında yeniden kullanılmasını sağlar.Also, by standardizing on a standard schema that's agnostic of blockchain technology stacks, the off-chain storage enables the reuse of reports and other artifacts across projects, scenarios, and organizations.

Azure StorageAzure Storage

Azure Depolama, sözleşmelerle ilişkili sözleşmeleri ve meta verileri depolamak için kullanılır.Azure Storage is used to store contracts and metadata associated with contracts.

Satın alma siparişleri ve konşimentolar, haber ve tıbbi görüntülerde kullanılan görüntüler, polis vücut kameraları ve büyük sinema dahil olmak üzere bir süreklilik kaynaklanan video, belgeler birçok blockchain merkezli senaryolarda rol oynamaktadır.From purchase orders and bills of lading, to images used in the news and medical imagery, to video originating from a continuum including police body cameras and major motion pictures, documents play a role in many blockchain-centric scenarios. Belgeler doğrudan blockchain üzerine yerleştirmek için uygun değildir.Documents are not appropriate to place directly on the blockchain.

Blockchain Workbench, blockchain iş mantığına sahip belge veya diğer medya içeriği ekleme yeteneğini destekler.Blockchain Workbench supports the ability to add documents or other media content with blockchain business logic. Belge nin veya medya içeriğinin bir bölümü blockchain'de depolanır ve gerçek belge veya medya içeriği Azure Depolama'da depolanır.A hash of the document or media content is stored in the blockchain and the actual document or media content is stored in Azure Storage. İlişkili işlem bilgileri gelen ileti aracısına teslim edilir, paketlenir, kaydedilir ve blockchain'e yönlendirilir.The associated transaction information is delivered to the inbound message broker, packaged up, signed, and routed to the blockchain. Bu işlem, giden ileti aracısı aracılığıyla paylaşılan olayları tetikler.This process triggers events, which are shared via the outbound message broker. SQL DB bu bilgileri tüketir ve daha sonra sorgulama için DB'ye gönderir.The SQL DB consumes this information and sends it to the DB for later querying. Downstream sistemleri de uygun şekilde hareket etmek için bu olayları tüketebilir.Downstream systems could also consume these events to act as appropriate.

İzlemeMonitoring

Workbench, Application Insights ve Azure Monitor'u kullanarak uygulama günlüğe kaydetme sağlar.Workbench provides application logging using Application Insights and Azure Monitor. Application Insights, Blockchain Workbench'ten günlüğe kaydedilmiş tüm bilgileri depolamak için kullanılır ve hatalar, uyarılar ve başarılı işlemleri içerir.Application Insights is used to store all logged information from Blockchain Workbench and includes errors, warnings, and successful operations. Uygulama Öngörüleri, geliştiriciler tarafından Blockchain Workbench ile ilgili sorunları hata ayıklamak için kullanılabilir.Application Insights can be used by developers to debug issues with Blockchain Workbench.

Azure Monitor, blockchain ağının durumu hakkında bilgi sağlar.Azure Monitor provides information on the health of the blockchain network.

Sonraki adımlarNext steps