En basit SOAP örneği


241

Javascript kullanan en basit SOAP örneği nedir?

Mümkün olduğunca faydalı olabilmek için cevap:

  • İşlevsel olun (başka bir deyişle gerçekten işe yarar)
  • Kodun başka bir yerinde ayarlanabilecek en az bir parametre gönderin
  • Kodun başka bir yerinde okunabilen en az bir sonuç değerini işleyin
  • En modern tarayıcı sürümleriyle çalışın
  • Harici bir kütüphane kullanmadan olabildiğince açık ve kısa olun

5
Basit ve açık olması, harici bir kitaplık kullanmama ile çelişebilir. Gerçekten kendi WSDL -> JS sınıfı dönüştürücünüzü yazmak ister misiniz?
mikemaccana

19
Bir sorum var: Bu soruyu ilk kişi olarak görürsem, "bazı kodları göster, bu 'kodlayıcı kiralamak'" gibi yorumlarla indirilmemesini beklerdim. Kişisel bir şey yok, Thomas :) Ama topluluğun neyin iyi ve kötü olduğuna nasıl karar verdiğini anlayamıyorum.
目 白 目

4
Hey endişelenme. Sorunun amacı, JavaScript kullanarak bir SOAP istemcisi yazmanın birçok yolu olmasıdır. Birçoğu çirkin, bu yüzden temiz tutmaya dair bazı fikirler umuyordum.
Thomas Bratt

@dan çünkü 1. bu soru oldukça eski, hala geleneğe göre birçok upvotes var sorulan çok sayıda temel soru vardı, 2. oldukça basit bir sorunu açıklar, bu yüzden muhtemelen tarafından oy verebilecek yeni kullanıcıları çekme eğilimindedir "Hey ben de bilmek istiyorum!" "hey, bu soru araştırma çabasını gösteriyor. yararlı ve açık!". Soru bence bu kadar eksik olduğu için, bunu reddetmiştim. Kişisel bir şey de yok: D
phil294

@ThomasBratt Muhtemelen bunu meta üzerinde sürdüreceğim, ancak bu tür sorular bir şansı hak ediyor. İniş bir referans veya bilgi tabanı kütüphanesi için ideal bir sorudur. Ama belki de kabul edilen cevap ekstra ayak işi için bir teşviki hak ediyor? Hala SO'dan daha fazla kabul edilen bir şey yok, peki başka nerede? SO bile bir dokümantasyon sitesi kurma fikriyle denedi ve oynadı - ve başarısız oldu. SO'nun yerini alacak bir şey yok ...
YoYo

Yanıtlar:


201

Bu, oluşturabileceğim en basit JavaScript SOAP İstemcisi.

<html>
<head>
    <title>SOAP JavaScript Client Test</title>
    <script type="text/javascript">
        function soap() {
            var xmlhttp = new XMLHttpRequest();
            xmlhttp.open('POST', 'https://somesoapurl.com/', true);

            // build SOAP request
            var sr =
                '<?xml version="1.0" encoding="utf-8"?>' +
                '<soapenv:Envelope ' + 
                    'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
                    'xmlns:api="http://127.0.0.1/Integrics/Enswitch/API" ' +
                    'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' +
                    'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">' +
                    '<soapenv:Body>' +
                        '<api:some_api_call soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">' +
                            '<username xsi:type="xsd:string">login_username</username>' +
                            '<password xsi:type="xsd:string">password</password>' +
                        '</api:some_api_call>' +
                    '</soapenv:Body>' +
                '</soapenv:Envelope>';

            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4) {
                    if (xmlhttp.status == 200) {
                        alert(xmlhttp.responseText);
                        // alert('done. use firebug/console to see network response');
                    }
                }
            }
            // Send the POST request
            xmlhttp.setRequestHeader('Content-Type', 'text/xml');
            xmlhttp.send(sr);
            // send request
            // ...
        }
    </script>
</head>
<body>
    <form name="Demo" action="" method="post">
        <div>
            <input type="button" value="Soap" onclick="soap();" />
        </div>
    </form>
</body>
</html> <!-- typo -->

2
<Soapenv: Header> göndermeye ne dersiniz? Üstbilgi etiketlerimi sr değişkenine oluşturmaya çalıştım, ancak sunucu boş bir soapenv aldı: Header
Boiler Bill

Bu benim için çalıştı! (SOAP Hizmet URL'sini gerçek bir URL ile değiştirdikten ve tarayıcımdaki @Prestaul tarafından ima edildiği üzere web alanları arası kısıtlamaları kapattıktan sonra)
Niko Bellic

Android / ios için nativescript'te çapraz platform uygulaması geliştiriyorum. SOAP web servislerini kullanmak istiyorum. Lütfen bana aynı şekilde yol göster. SOAP isteği için kod yukarıda kullanılan ve ben SOAP yanıt formatı, nasıl yanıt ele istiyorum. Lütfen sorumu inceleyin - stackoverflow.com/questions/37745840/…
Onkar Nene

Son zamanlarda eski kodu desteklemek için bunu kullanmak zorunda kaldı. "EndpointDispatcher'da bir ContractFilter uyuşmazlığı" yaratan üstbilgiyle ilgili bir sorunla karşılaştık. Düzeltmeden xmlhttp.setRequestHeader('SOAPAction', 'http://myurl.com/action');hemen önce ekleme xmlhttp.send(sr).
RDRick

80

Tarayıcıların XMLHttpRequest'i işleme biçiminde birçok tuhaflık var, bu JS kodu tüm tarayıcılarda çalışacak:
https://github.com/ilinsky/xmlhttprequest

Bu JS kodu XML'yi kullanımı kolay JavaScript nesnelerine dönüştürür:
http://www.terracoder.com/index.php/xml-objectifier

Harici kitaplık gereksiniminizi karşılamak için yukarıdaki JS kodu sayfaya eklenebilir.

var symbol = "MSFT"; 
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST", "http://www.webservicex.net/stockquote.asmx?op=GetQuote",true);
xmlhttp.onreadystatechange=function() {
 if (xmlhttp.readyState == 4) {
  alert(xmlhttp.responseText);
  // http://www.terracoder.com convert XML to JSON 
  var json = XMLObjectifier.xmlToJSON(xmlhttp.responseXML);
  var result = json.Body[0].GetQuoteResponse[0].GetQuoteResult[0].Text;
  // Result text is escaped XML string, convert string to XML object then convert to JSON object
  json = XMLObjectifier.xmlToJSON(XMLObjectifier.textToXML(result));
  alert(symbol + ' Stock Quote: $' + json.Stock[0].Last[0].Text); 
 }
}
xmlhttp.setRequestHeader("SOAPAction", "http://www.webserviceX.NET/GetQuote");
xmlhttp.setRequestHeader("Content-Type", "text/xml");
var xml = '<?xml version="1.0" encoding="utf-8"?>' +
 '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
                'xmlns:xsd="http://www.w3.org/2001/XMLSchema" ' +
                'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' + 
   '<soap:Body> ' +
     '<GetQuote xmlns="http://www.webserviceX.NET/"> ' +
       '<symbol>' + symbol + '</symbol> ' +
     '</GetQuote> ' +
   '</soap:Body> ' +
 '</soap:Envelope>';
xmlhttp.send(xml);
// ...Include Google and Terracoder JS code here...

Diğer iki seçenek:


Birden fazla zarf geçmek istersem ne yapmalıyım?
Ajay Patel

i yukarıdaki kodu kullanıyorum, ama xmlhttp.responseText her zaman null.can u sonuç olarak hata üstesinden gelmek için somelinks sonuçları
user969275 19:12

Google Code kaldırıldığında bağlantı: github.com/ilinsky/xmlhttprequest
ToastyMallows

48

Web hizmeti sayfanızla aynı alanda değilse, bu düz JavaScript ile yapılamaz. Düzenleme: 2008 ve IE <10 hizmet servis sayfanızla aynı etki alanında olmadığı sürece düz javascript ile yapılamaz.

Web hizmeti başka bir etki alanındaysa ve IE <10'u desteklemeniz gerekiyorsa, sonuçları almak ve size geri döndürmek için kendi etki alanınızda bir proxy sayfası kullanmanız gerekir. Eski IE desteğine ihtiyacınız yoksa, hizmetinize CORS desteği eklemeniz gerekir. Her iki durumda da, zaman çizelgelerinin önerdiği lib gibi bir şey kullanmalısınız çünkü sonuçları kendiniz ayrıştırmak istemezsiniz.

Web hizmeti kendi alan adınızdaysa, SOAP kullanmayın. Bunu yapmak için iyi bir neden yok. Web hizmeti kendi etki alanınızdaysa, JSON'u döndürmek ve kendinizi SOAP ile gelen tüm zorluklarla uğraşma zahmetinden kurtarmak için değiştirin.

Kısa cevap: Javascript'ten SOAP istekleri yapmayın. Başka bir etki alanından veri istemek için bir web hizmeti kullanın ve bunu yaparsanız, sonuçları sunucu tarafındaki ayrıştırın ve js dostu bir biçimde döndürün.


1
Amaç, SOAP sunucusunun basit test ve değerlendirme için bir HTML sayfası sunmasını sağlamaktır. İstemci aynı alanda olacaktır. Ön uç için SOAP kullanılmaması kabul edilen görünüm gibi görünüyor. Neden olduğuna dair herhangi bir yorumunuz var mı? Lütfen yeni soru ekleyin: stackoverflow.com/questions/127038
Thomas Bratt

1
Orada cevap vermenin bir anlamı yok ... Üç noktada da Gizmo'ya katılıyorum. XML şişmiş ve JSON özlü ve yerel iken js ile başa çıkmak için bir meydan okuma.
Prestaul

10
re "yapılamaz": İstemci Çapraz Kaynak Kaynağı Paylaşımını destekliyorsa, bugün (çoğunlukla) düz JavaScript ile yapılabilir . Umarım 3-4 yıl içinde evrensel olarak kullanılabilir olacaktır.
Constantin

2
@Constantin, CORS, yalnızca daha yeni tarayıcıları desteklemeye hazırsanız ve sunucunun kontrolüne sahipseniz ve orada da CORS desteği ekleyebiliyorsanız izin verir. Bununla birlikte, SOAP çağrılarının sadece sunucular arasında yapılması gerektiğini ve istemcinin JSON gibi daha JS dostu bir şey kullanması gerektiğini savunuyorum.
Prestaul

1
@NikoBellic, tarayıcı tabanlı bir istemcinin XMLHttpRequest, muhtemelen jquery gibi bir kitaplık aracılığıyla kullanabileceği bir yöntemdir . Bir düğüm istemcisi başka bir şey kullanırdı. Çoğu web hizmeti, API'lerini tasarlamak için bir kılavuz olarak REST'i kullanır, ancak birçok iyi desen vardır. Buradaki anahtar, javascript istemcileri (tarayıcı / düğüm / her yerde) JSON'u yerel olarak anladığından istek / yanıt gövdelerinin JSON olmasıdır.
Prestaul

14

İşi sizin için yapmak için jquery.soap eklentisini kullanabilirsiniz .

Bu komut dosyası, SOAPEnvelope göndermek için $ .ajax kullanır. Giriş olarak XML DOM, XML dizesi veya JSON alabilir ve yanıt XML DOM, XML dizesi veya JSON olarak da döndürülebilir.

Siteden örnek kullanım:

$.soap({
    url: 'http://my.server.com/soapservices/',
    method: 'helloWorld',

    data: {
        name: 'Remy Blom',
        msg: 'Hi!'
    },

    success: function (soapResponse) {
        // do stuff with soapResponse
        // if you want to have the response as JSON use soapResponse.toJSON();
        // or soapResponse.toString() to get XML string
        // or soapResponse.toXML() to get XML DOM
    },
    error: function (SOAPResponse) {
        // show error
    }
});

8

Thomas:

JSON, javascript olduğu için ön uç kullanımı için tercih edilir. Bu nedenle başa çıkmak için XML'iniz yok. SOAP bu nedenle kütüphane kullanmadan bir acıdır. Birisi iyi bir kütüphane olan SOAPClient'ten bahsetti, projemiz için onunla başladık. Ancak bazı sınırlamaları vardı ve biz onun büyük parçaları yeniden yazmak zorunda kaldı. SOAPjs olarak yayınlandı ve karmaşık nesneleri sunucuya geçirmeyi destekliyor ve diğer alanlardan hizmetleri tüketmek için bazı örnek proxy kodları içeriyor.


2
"JSON, javascript olduğu için ön uç kullanımı için tercih edilir." - JSON JavaScript değil . (Sadece JavaScript'e benziyor.)
nnnnnn

2
en.wikipedia.org/wiki/JSON - Kelimenin tam anlamıyla "JavaScript Nesne Gösterimi" anlamına gelir ve JSON'un bir dil değil bir spesifikasyon olduğunu ve bunun için kesinlikle "javascript değil" olduğunu kabul ettim. millet kolayca karıştırın.
P. Roe

8

Bunu deneyen var mı? https://github.com/doedje/jquery.soap

Uygulaması çok kolay görünüyor.

Misal:

$.soap({
url: 'http://my.server.com/soapservices/',
method: 'helloWorld',

data: {
    name: 'Remy Blom',
    msg: 'Hi!'
},

success: function (soapResponse) {
    // do stuff with soapResponse
    // if you want to have the response as JSON use soapResponse.toJSON();
    // or soapResponse.toString() to get XML string
    // or soapResponse.toXML() to get XML DOM
},
error: function (SOAPResponse) {
    // show error
}
});

sonuçlanacak

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <helloWorld>
        <name>Remy Blom</name>
        <msg>Hi!</msg>
    </helloWorld>
  </soap:Body>
</soap:Envelope>

4
<html>
 <head>
    <title>Calling Web Service from jQuery</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $("#btnCallWebService").click(function (event) {
                var wsUrl = "http://abc.com/services/soap/server1.php";
                var soapRequest ='<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">   <soap:Body> <getQuote xmlns:impl="http://abc.com/services/soap/server1.php">  <symbol>' + $("#txtName").val() + '</symbol>   </getQuote> </soap:Body></soap:Envelope>';
                               alert(soapRequest)
                $.ajax({
                    type: "POST",
                    url: wsUrl,
                    contentType: "text/xml",
                    dataType: "xml",
                    data: soapRequest,
                    success: processSuccess,
                    error: processError
                });

            });
        });

        function processSuccess(data, status, req) { alert('success');
            if (status == "success")
                $("#response").text($(req.responseXML).find("Result").text());

                alert(req.responseXML);
        }

        function processError(data, status, req) {
        alert('err'+data.state);
            //alert(req.responseText + " " + status);
        } 

    </script>
</head>
<body>
    <h3>
        Calling Web Services with jQuery/AJAX
    </h3>
    Enter your name:
    <input id="txtName" type="text" />
    <input id="btnCallWebService" value="Call web service" type="button" />
    <div id="response" ></div>
</body>
</html>

Hear örnek ile SOAP öğretici ile en iyi JavaScript olduğunu.

http://www.codeproject.com/Articles/12816/JavaScript-SOAP-Client



3

SOAP Web hizmetlerini JavaScript ile kolayca kullanın -> Liste B

function fncAddTwoIntegers(a, b)
{
    varoXmlHttp = new XMLHttpRequest();
    oXmlHttp.open("POST",
 "http://localhost/Develop.NET/Home.Develop.WebServices/SimpleService.asmx'",
 false);
    oXmlHttp.setRequestHeader("Content-Type", "text/xml");
    oXmlHttp.setRequestHeader("SOAPAction", "http://tempuri.org/AddTwoIntegers");
    oXmlHttp.send(" \
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' \
xmlns:xsd='http://www.w3.org/2001/XMLSchema' \
 xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'> \
  <soap:Body> \
    <AddTwoIntegers xmlns='http://tempuri.org/'> \
      <IntegerOne>" + a + "</IntegerOne> \
      <IntegerTwo>" + b + "</IntegerTwo> \
    </AddTwoIntegers> \
  </soap:Body> \
</soap:Envelope> \
");
    return oXmlHttp.responseXML.selectSingleNode("//AddTwoIntegersResult").text;
}

Bu, tüm gereksinimlerinizi karşılamayabilir, ancak sorunuzu gerçekten yanıtlamaya bir başlangıçtır. (I açık XMLHttpRequest () için ActiveXObject ( "Msxml2.XMLHTTP") ).


1

En basit örnek aşağıdakilerden oluşur:

  1. Kullanıcı girişi alınıyor.
  2. Buna benzer XML SOAP mesajı oluşturma

    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Body>
        <GetInfoByZIP xmlns="http://www.webserviceX.NET">
          <USZip>string</USZip>
        </GetInfoByZIP>
      </soap:Body>
    </soap:Envelope>
  3. XHR kullanarak web hizmeti url'sine POST mesajı

  4. Web servisinin XML SOAP yanıtını buna benzer şekilde ayrıştırma

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
     <soap:Body>
      <GetInfoByZIPResponse xmlns="http://www.webserviceX.NET">
       <GetInfoByZIPResult>
        <NewDataSet xmlns="">
         <Table>
          <CITY>...</CITY>
          <STATE>...</STATE>
          <ZIP>...</ZIP>
          <AREA_CODE>...</AREA_CODE>
          <TIME_ZONE>...</TIME_ZONE>
         </Table>
        </NewDataSet>
       </GetInfoByZIPResult>
      </GetInfoByZIPResponse>
     </soap:Body>
    </soap:Envelope>
  5. Sonuçları kullanıcıya sunmak.

Ancak harici JavaScript kitaplıkları olmadan çok fazla uğraş.


9
Javacript örneği değil.
Thomas Bratt

Cevap vermediğin ilk bölüm bile değil - İşlevsel ol (başka bir deyişle gerçekten işe yarar).
shahar eldad

0
function SoapQuery(){
  var namespace = "http://tempuri.org/";
  var site = "http://server.com/Service.asmx";
  var xmlhttp = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0");
  xmlhttp.setOption(2,  13056 );  /* if use standard proxy */
  var args,fname =  arguments.callee.caller.toString().match(/ ([^\(]+)/)[1]; /*Имя вызвавшей ф-ции*/
  try { args =   arguments.callee.caller.arguments.callee.toString().match(/\(([^\)]+)/)[1].split(",");  
    } catch (e) { args = Array();};
  xmlhttp.open('POST',site,true);  
  var i, ret = "", q = '<?xml version="1.0" encoding="utf-8"?>'+
   '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'+
   '<soap:Body><'+fname+ ' xmlns="'+namespace+'">';
  for (i=0;i<args.length;i++) q += "<" + args[i] + ">" + arguments.callee.caller.arguments[i] +  "</" + args[i] + ">";
  q +=   '</'+fname+'></soap:Body></soap:Envelope>';
            // Send the POST request
            xmlhttp.setRequestHeader("MessageType","CALL");
            xmlhttp.setRequestHeader("SOAPAction",namespace + fname);
            xmlhttp.setRequestHeader('Content-Type', 'text/xml');
            //WScript.Echo("Запрос XML:" + q);
            xmlhttp.send(q);
     if  (xmlhttp.waitForResponse(5000)) ret = xmlhttp.responseText;
    return ret;
  };





function GetForm(prefix,post_vars){return SoapQuery();};
function SendOrder2(guid,order,fio,phone,mail){return SoapQuery();};

function SendOrder(guid,post_vars){return SoapQuery();};

0

Angularjs $ http XMLHttpRequest tabanını kaydırır . Üstbilgi içeriği kümesinde olduğu sürece aşağıdaki kod yapılacaktır.

"Content-Type": "text/xml; charset=utf-8"

Örneğin:

function callSoap(){
var url = "http://www.webservicex.com/stockquote.asmx";
var soapXml = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"http://www.webserviceX.NET/\"> "+
         "<soapenv:Header/> "+
         "<soapenv:Body> "+
         "<web:GetQuote> "+
         "<web:symbol></web:symbol> "+
         "</web:GetQuote> "+
         "</soapenv:Body> "+
         "</soapenv:Envelope> ";

    return $http({
          url: url,  
          method: "POST",  
          data: soapXml,  
          headers: {  
              "Content-Type": "text/xml; charset=utf-8"
          }  
      })
      .then(callSoapComplete)
      .catch(function(message){
         return message;
      });

    function callSoapComplete(data, status, headers, config) {
        // Convert to JSON Ojbect from xml
        // var x2js = new X2JS();
        // var str2json = x2js.xml_str2json(data.data);
        // return str2json;
        return data.data;

    }

}

0

Soru 'Javascript kullanan en basit SOAP örneği nedir?'

Bu yanıt, tarayıcı yerine Node.js ortamında bir örnektir . (Soap-node.js komut dosyasına ad verelim) Ve bir makalenin referans listesini almak için örnek olarak Avrupa PMC'deki genel SOAP web hizmetini kullanacağız .

const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const DOMParser = require('xmldom').DOMParser;

function parseXml(text) {
    let parser = new DOMParser();
    let xmlDoc = parser.parseFromString(text, "text/xml");
    Array.from(xmlDoc.getElementsByTagName("reference")).forEach(function (item) {
        console.log('Title: ', item.childNodes[3].childNodes[0].nodeValue);
    });

}

function soapRequest(url, payload) {
    let xmlhttp = new XMLHttpRequest();
    xmlhttp.open('POST', url, true);

    // build SOAP request
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                parseXml(xmlhttp.responseText);
            }
        }
    }

    // Send the POST request
    xmlhttp.setRequestHeader('Content-Type', 'text/xml');
    xmlhttp.send(payload);
}

soapRequest('https://www.ebi.ac.uk/europepmc/webservices/soap', 
    `<?xml version="1.0" encoding="UTF-8"?>
    <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Header />
    <S:Body>
        <ns4:getReferences xmlns:ns4="http://webservice.cdb.ebi.ac.uk/"
            xmlns:ns2="http://www.scholix.org"
            xmlns:ns3="https://www.europepmc.org/data">
            <id>C7886</id>
            <source>CTX</source>
            <offSet>0</offSet>
            <pageSize>25</pageSize>
            <email>ukpmc-phase3-wp2b---do-not-reply@europepmc.org</email>
        </ns4:getReferences>
    </S:Body>
    </S:Envelope>`);

Kodu çalıştırmadan önce iki paket yüklemeniz gerekir:

npm install xmlhttprequest
npm install xmldom

Şimdi kodu çalıştırabilirsiniz:

node soap-node.js

Ve çıktıyı aşağıdaki gibi göreceksiniz:

Title:  Perspective: Sustaining the big-data ecosystem.
Title:  Making proteomics data accessible and reusable: current state of proteomics databases and repositories.
Title:  ProteomeXchange provides globally coordinated proteomics data submission and dissemination.
Title:  Toward effective software solutions for big biology.
Title:  The NIH Big Data to Knowledge (BD2K) initiative.
Title:  Database resources of the National Center for Biotechnology Information.
Title:  Europe PMC: a full-text literature database for the life sciences and platform for innovation.
Title:  Bio-ontologies-fast and furious.
Title:  BioPortal: ontologies and integrated data resources at the click of a mouse.
Title:  PubMed related articles: a probabilistic topic-based model for content similarity.
Title:  High-Impact Articles-Citations, Downloads, and Altmetric Score.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.